Constness with pointers to pointers etc.



 DEVELOP > c-Plus-Plus > Constness with pointers to pointers etc.

LINK TO THIS PAGE  


rating :  0   |  0


  Page 1 of 1

1

 
Topic: DEVELOP > c-Plus-Plus
User: "Richard Hayden"
Date: 23 Nov 2003 07:03:05 AM
Object: Constness with pointers to pointers etc.
Hi,
I understand such pointers as 'const int* const ip' and 'const int*
ip' etc., but I'm getting confused when seeing things like 'const int*
const* ip' (i.e. with two or more asterisks). Clearly pointers to
pointers like this will require an expansion of the syntax to
accommodate for all of the possible extra combinations (i.e. must
specify the constness of the pointer ip and the constness of the
pointer, to which ip is pointing). Is there a reference (or someone
here) which/who can tell me how the syntax for such complicated
pointer declarations works?
Thanks,
Richard Hayden.
.

User: "Rob Williscroft"

Title: Re: Constness with pointers to pointers etc. 23 Nov 2003 07:20:32 AM
Richard Hayden wrote in news:cd20cdc.0311230503.4ad10458
@posting.google.com:

Hi,

I understand such pointers as 'const int* const ip' and 'const int*
ip' etc., but I'm getting confused when seeing things like 'const int*
const* ip' (i.e. with two or more asterisks). Clearly pointers to
pointers like this will require an expansion of the syntax to
accommodate for all of the possible extra combinations (i.e. must
specify the constness of the pointer ip and the constness of the
pointer, to which ip is pointing). Is there a reference (or someone
here) which/who can tell me how the syntax for such complicated
pointer declarations works?

const int a;
is another way of writing
int const a;
Its the one and only exception to the rule that a qualifier (const or
volatile) goes after that which it qualifies.
int const * const * const * const cp_to_cp_to_cp_to_int;
int const * * const * const cp_to_cp_to_p_to_int;
From your statement above, the declaration that "confuses" you:
const int* const* ip;
rewrite it "correctly" (;-)/YMMV)
int const * const *ip;
then read it backwards "ip is a pointer to a const pointer to a
const int".
HTH
Rob.
--
http://www.victim-prime.dsl.pipex.com/
.


  Page 1 of 1

1

 


Related Articles
 

NEWER

pg.1232     pg.940     pg.716     pg.544     pg.412     pg.311     pg.234     pg.175     pg.130     pg.96     pg.70     pg.50     pg.35     pg.24     pg.16     pg.10     pg.6     pg.3     pg.1

OLDER