Je n'ai pas le sentiment (encore, j'espère) d'avoir choisi la sémantique de valeur ou de référence dans certaines situations. Y a-t-il une règle empirique que je peux appliquer?Valeur ou sémantique de référence dans cette situation?
Je choisis généralement des références pour tout autre type de données (char, int, bool, double, etc.). Cependant, il n'est parfois pas possible de renvoyer des références à partir d'une fonction, donc je devrais utiliser des pointeurs. La fonction suivante est un exemple:
Foo bar()
{
Foo f;
f.do_stuff();
return f;
}
j'utiliser boost :: shared_ptr pour stocker l'objet Foo, mais il fait de travailler avec l'objet assez laid. Je suis actuellement en train de regarder une fonction qui retourne une deque qui n'aura presque jamais plus de 10 éléments (c'est ce que je suppose, je n'ai aucun moyen de m'en assurer). Serait-il correct de retourner ceci en valeur? Mes considérations sont-elles un cas d'optimisation prématurée?
double possible de [Comment passer des objets à des fonctions en C++?] (Http://stackoverflow.com/questions/2139224/how-to-pass-objects-to-functions-in-c) – fredoverflow