13
Y a-t-il une différence entre tr1::shared_ptr
et boost::shared_ptr
? Si oui, quoi?Différences entre tr1 :: shared_ptr et boost :: shared_ptr?
Y a-t-il une différence entre tr1::shared_ptr
et boost::shared_ptr
? Si oui, quoi?Différences entre tr1 :: shared_ptr et boost :: shared_ptr?
Non, la documentation de shared_ptr boost dit:
Cette implémentation est conforme à la spécification TR1 , avec la seule exception qu'il se trouve dans l'espace de noms boost au lieu de std :: tr1.
Ah. Donc, il y a une différence. – gregg
Les implémentations peuvent différer tout en restant conformes; Notamment les opérateurs de déréférencement de 'boost :: shared_ptr' utilisent 'Boost.Assert' pour vérifier la valeur NULL (c'est-à-dire vide) avant d'effectuer le déréférencement; alors que 'stc :: shared_ptr' de' libC++ '' n'a pas cette vérification. Dans le cas où vous rencontrez cette erreur lors de l'exécution, l'un signifiera un échec d'assertion, l'autre une faute de segmentation (probablement). – rvalue