question bete sur const Type &

question bete sur const Type & - C++ - Programmation

Marsh Posté le 09-12-2007 à 14:34:55    

Salut, je me pose une question sur le fait de passer des objet (par exemple dans l'implementation d'opérateurs) à coup de const Type &
Est ce que c'est pour éviter des recopie inutiles et/ou faire des économies de la pile ou bien je plante completement?


---------------
--- WinSplit Revolution ---
Reply

Marsh Posté le 09-12-2007 à 14:34:55   

Reply

Marsh Posté le 09-12-2007 à 15:05:41    

Je débute en C++: je pense que c'est pour éviter les recopies (& ) et pour éviter de modifier le contenu pointé (const).
 
J'ai des doutes sur ce dernier, ça dépend de la où on met le mot const.

Message cité 1 fois
Message édité par ngkreator le 09-12-2007 à 15:10:08
Reply

Marsh Posté le 09-12-2007 à 15:42:52    

ngkreator a écrit :

J'ai des doutes sur ce dernier, ça dépend de la où on met le mot const.

Ca c'est vrai pour des pointeurs : ca permet de decider si le const doit s'appliquer au contenu pointe, ou au pointeur lui meme (possibilite de le faire pointer ailleurs). Mais une reference reference toujours le meme objet.

Reply

Marsh Posté le 09-12-2007 à 15:49:21    

C'est quoi les différentes possibilités pour les pointeurs:
 
const type * p -> pointeur vers un type dont le contenu sera const
type * const p ->pointeur constant vers type
 
Corrigez moi si je me trompe.
 
et avec les références?

Reply

Marsh Posté le 09-12-2007 à 16:41:25    

oui ça evite des recopies inutiles.
 
perso j'expliquerai le "const type &" comme une déclaration d'intention: c'est un alias sur l'objet.  
 
après le code généré, que ce soit un pointeur, ou un passage par registre si le type tiens dedands, c'est le job du compilo.
 
NGKreator >
 
et forcément const type * const
 
normalement ça doit être pareil pour les références.

Reply

Marsh Posté le 09-12-2007 à 16:58:09    

ok merci bjone
 
ps: j'espere que tu as apprécié le séjour dans mon ile Marie Galante ;)


---------------
--- WinSplit Revolution ---
Reply

Marsh Posté le 09-12-2007 à 17:35:33    

bjone a écrit :

oui ça evite des recopies inutiles.
 
perso j'expliquerai le "const type &" comme une déclaration d'intention: c'est un alias sur l'objet.  
 
après le code généré, que ce soit un pointeur, ou un passage par registre si le type tiens dedands, c'est le job du compilo.
 
NGKreator >
 
et forcément const type * const
 
normalement ça doit être pareil pour les références.

Ah ben oui en effet!

Reply

Marsh Posté le 09-12-2007 à 18:03:02    

neg'gwada a écrit :

ok merci bjone
 
ps: j'espere que tu as apprécié le séjour dans mon ile Marie Galante ;)


 
:D ouais j'ai de la famille là bas (chui un cousin des gens qui s'occupe de la distillerie Bielle  [:z-bob] )


Message édité par bjone le 09-12-2007 à 18:03:27
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed