Bonjour.
Considérons le code suivant :
Ma question ne porte pas sur le bien-fondé de retourner des string par référence ou par copie, il s'agit juste la d'un exemple. On pourrait imaginer que _firstName et _lastName sont des classes très lourdes et qu'il est mieux de les retourner par référence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 class MyClass { // Getters by copy ? public: inline std::string fullName() const {return _firstName+_lastName;} // Getters by reference ? public: inline const std::string& firstName() const {return _firstName;} inline const std::string& lastName() const {return _lastName;} // Data members protected: std::string _firstName; std:::string _lastName; };
La question que je me pose est vis-à-vis de ma documentation : comment appeler la catégorie des fonctions firstName et lastName (accès à des data members) et comment appeler la catégorie des fonctions comme fullName (objets construits à partir des data members) ?
Je cherche donc deux mots anglais (si possible assez clairs) pour baptiser ces deux catégories de fonctions.
Merci beaucoup
P.S. : d'ailleurs, je ne sais même pas si on peut qualifier fullName() de getter, parce qu'il ne retourne pas directement un data member. Pouvez-vous m'éclairer sur ce point ?
EDIT : sur SO, quelqu'un semble dire que je peux mélanger sans problème mes getters par copie et mes getters par référence, sans besoin de faire de distinction. Que pensez vous de ce point de vue ?
Partager