Bonjour,
Je souhaite passer aux smart_ptr de boost mais je me pose une question.
La signature d'une fonction ne modifiant pas un paramètre est par exemple
void setParametre( const MaClasse& );
qu'en est il avec un shared_ptr ?
la signature void setParametre( shared_ptr<MaClasse> const & ) laisse la porte ouverte à une modification du paramètre dans la fonction.
la signature void setParametre( shared_ptr<const MaClasse> const &) bloque bien toute modification du paramètre mais oblige à un cast vers une variable membre (non const) dans le cas ou l'on veut faire un mutateur.
Quel est selon vous la meilleure manière de procéder?
Merci d'avance.
Partager