On Thursday 23 of February 2012, Noel Grandin wrote:
Hi
I'm seeing declarations like this scattered around the SW module:
e.g. in sw/inc/swtable.hxx at line 301
static SwTable * FindTable( SwFrmFmt const*const pFmt );
As far as I can tell from my limited C++ knowledge, this is the same as
the more common definition:
static SwTable * FindTable( const SwFrmFmt * pFmt );
i.e. the second const serves no purpose - or am I missing something?
The part to the left of the * is what the pointer points to, so it points to
a const SwFrmFmt, and the placement of the const keyword there is irrelevant.
The part to the right of the * is about the variable (=pointer) itself, so
the const there means that the pointer cannot be changed to point elsewhere.
Strictly technically speaking it would be better mark as const anything that
is not intended to be changed, so the second const does serve a purpose and
theoretically this form is actually the correct one, but in practice people
do not bother with the second const for the convenience of less typing and
easier reading.
--
Lubos Lunak
l.lunak@suse.cz
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.