RVO - C++ - Programmation
Marsh Posté le 05-10-2009 à 21:19:58
Pourquoi est-ce que tu penses qu'une optimisation concernant la valeur de retour a un effet sur le choix de la manière dont il faut passer des paramètres?
Marsh Posté le 05-10-2009 à 21:28:51
http://cpp.developpez.com/faq/cpp/ [...] vo_impacts
je pense pas je lis, je lis mal ?
Marsh Posté le 05-10-2009 à 22:26:03
original > la copie :
http://cpp-next.com/archive/2009/0 [...] -by-value/
Marsh Posté le 05-10-2009 à 22:54:25
ça me choque là pour le coup qu'un passage par valeur soit moins gourmand qu'une ref
Marsh Posté le 07-10-2009 à 10:02:56
Glock 17Pro a écrit : http://cpp.developpez.com/faq/cpp/ [...] vo_impacts |
Oui. Mais tu as une excuse, l'article en lui-meme cause de la confusion. La (N)RVO n'a rien a faire ici.
Il faut regarder ce que tu compares. Oui, c'est moins couteux de passer par copie que de passer par reference pour
faire une copie ensuite dans les cas ou tu passes un temporaire car dans ce cas, le temporaire est utilise pour l'objet
local plutot que de le copier.
Ou intervient la (N)RVO, c'est lors de la generation du temporaire. La (N)RVO permet d'avoir un constructeur de copie
en moins.
Donc petit tableau du nombre d'appels au constructeur de copie pour (note la ligne 6 quand COPIE n'est pas defini)
Code :
|
Ref Copie |
Marsh Posté le 05-10-2009 à 21:07:15
Salut,
je viens d'être mis au parfum du concept de RVO
cela veut il dire que si on développe sur un compilo récent, il est préférable de passer les objets par valeur au fonction ?
le retour aussi ?
Merci
---------------
.