Citation:
Envoyé par loufoque
A priori ton truc ce serait plutôt
Code:
Mon_objet Mon_objet::function ();
À part si tu veux effectiver retourner une référence vers une variable membre ou autre.
En effet il faut clairement se poser la question. On arrive ici à question de conception et non de style. En gros, que souhaites-tu retourner ? Une copie modifiable ? Un simple accès vers la variable ? En lecture / écriture ?
Je pense qu'une copie systematique de l'objet est dommage car souvent superflue. Retourner une référence constante peut solutionner 2 des problèmes: la copie modifiable et l'accès en lecture:
Code:
1 2 3 4 5 6
| const Objet& MaClasse::getObjet();
{
const Objet& acces = getObjet();
Objet copie = getObjet();
} |
Ca pousse la personne à se demander si elle veut vraiment copier l'objet ou non, puisque à moins d'expliciter cette copie, le compilateur refusera les appels vers des méthodes non constantes.
-
Sinon, petite question, j'ai vu beaucoup de biliothèques qui définissaient
à la fois un accesseur par référence et un accesseur par référence constante pour le même objet. Est-ce que vous voyez des avantages particuliers ? :idea: