J'écris une méthode d'accès pour un pointeur partagé en C++ qui ressemble à ceci :
class Foo {
public:
return_type getBar() const {
return m_bar;
}
private:
boost::shared_ptr<Bar> m_bar;
}
Donc pour soutenir la constance de getBar()
le type de retour doit être un boost::shared_ptr
qui empêche la modification de la Bar
qu'il indique. Mon devinez c'est que shared_ptr<const Bar>
est le type que je veux retourner pour faire cela, alors que const shared_ptr<Bar>
empêcherait la réaffectation du pointeur lui-même pour pointer vers un autre objet Bar
mais permettent de modifier les Bar
qu'il pointe vers... Cependant, je ne suis pas sûr. J'apprécierais que quelqu'un qui en est sûr puisse soit le confirmer, soit me corriger si je me trompe. Merci !