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.








Répondre avec citation
Partager