Bonjour,
Petite question que je me pose à propos de la sémantique de valeur. Je possède une classe implémentant l'idiome Pimpl :
Ma question est : peut-on considérer que Handler a une sémantique de valeur ? On peut en effet le copier, l'assigner en toute sécurité grâce à la présence du shared_ptr, cependant seul le wrapper (la classe Handler) est copié, il n'y a pas de copie en profondeur.
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 class Handler { //méthodes du handler private: shared_ptr<HandlerImpl> m_impl; }; class HandlerImpl { //interface d'implémentation du handler (méthodes virtuelles ou virtuelles pures) }; class HandlerItem : public HandlerImpl { //implémentation de l'interface };
Partager