Bonjour,
vu que m'as question été passé à la trappe :aie:
je fait un nouveau post pour ne pas polluer.
Qu'elle est la différence entre
const A* aa;
et A* const aa;
merci.
Version imprimable
Bonjour,
vu que m'as question été passé à la trappe :aie:
je fait un nouveau post pour ne pas polluer.
Qu'elle est la différence entre
const A* aa;
et A* const aa;
merci.
L'object A pointe par aa est constant. Il n'est pas modifiable. Le pointeur lui meme peut etre modifie pour pointer sur autre chose.Code:
1
2const A* aa;
Le pointeur aa est constant. L'adresse qu'il contient ne peut pas etre modifiee. Par contre il n'est pas interdit de modifier la valeur pointee.Code:
1
2A* const aa;
:king:
t'es un chef.
Je comprend mieux
Donc pour finir
mais avec les references??Citation:
const int a <=> int const a
mais pourCitation:
const int & a <=>int const & a
cela donnerai quoi??Citation:
int & const a
int & const a n'est à ma connaissance pas accepté par le compilateur. De toute façon, la référence est forcément non-modifiable, donc c'est comme si elles avaient toutes le const après le &...
En fait, le const s'applique toujours sur l'objet juste avant lui... Si jamais il n'y a rien avant, alors on inverse et on le met sur celui après
Exemple :
Ici il n'y a rien avant const, alors celà devient automatiquementCode:const int a;
Dans ton premier exemple, c'est assez clair aussi :Code:int const a;
devient :Code:
1
2const A* aa;
L'objet lui même ne peut pas être modifié...Code:A const * aa;
Et dansle const porte bien sur le pointeur. C'est lui qui ne peut pas être modifié... ;)Code:A* const aa;
Alors en theorie ca ne sert a rien :-D.
On utilise parfois l'ecriture
pour creer un pointeur constant. C'est a dire qui possede le meme comportement qu'une reference (objet pointe qui ne peut etre change), a la difference pret qu'on peut initialiser un tel pointeur a NULL.Code:
1
2 int * const a = var;
Sauf bricolage moche, une reference ne peut pas etre nulle.
En pratique, ca ne compile pas :-D.
(en tout cas avec g++ ca ne compile pas).
:faq:
http://cpp.developpez.com/faq/cpp/?p...har_const_char
??
ben c'est incomplet ::aie:
Ouaip on pourrait refaire l'article de la FAQ en piochant dans ce thread :D
Les exemples c'est toujours plus parlant.
Et les abus de langage avec const ou les soucis de toutes sortes avec const sont frequents... (souvenir d'une reference constante sur un type templete... :cry: )
merci tous le monde cela deviens plus claire :king:
vous êtes des chef