Retourner au contenu associé (entrée de forum : Petit soucis avec les shared_ptr)
Posté par nazcafan le 03 juin 2016 à 17:56. En réponse au message Petit soucis avec les shared_ptr. Évalué à 1. Dernière modification le 03 juin 2016 à 17:58.
aussi, tu peux t'assurer facilement du fonctionnement de la mécanique de comptage en mettant p2 dans un scope :
p2
auto p1 = make_shared<MyInt>(MyInt::get(3)); cout << "p1 : id = " << p1->get_id() << ", n_ptr = " << p1.use_count() << ", addr = " << p1.get() << endl; { auto p2 = p1; cout << "p1 : id = " << p1->get_id() << ", n_ptr = " << p1.use_count() << ", addr = " << p1.get() << endl; cout << "p2 : id = " << p2->get_id() << ", n_ptr = " << p2.use_count() << ", addr = " << p2.get() << endl; } cout << "p1 : id = " << p1->get_id() << ", n_ptr = " << p1.use_count() << ", addr = " << p1.get() << endl;
résultat : Nb de MyInt : 5 p1 : id = 3, n_ptr = 1, addr = 0x8289030 p1 : id = 3, n_ptr = 2, addr = 0x8289030 p2 : id = 3, n_ptr = 2, addr = 0x8289030 p1 : id = 3, n_ptr = 1, addr = 0x8289030
Nb de MyInt : 5 p1 : id = 3, n_ptr = 1, addr = 0x8289030 p1 : id = 3, n_ptr = 2, addr = 0x8289030 p2 : id = 3, n_ptr = 2, addr = 0x8289030 p1 : id = 3, n_ptr = 1, addr = 0x8289030
AltStyle によって変換されたページ (->オリジナル) / アドレス: モード: デフォルト 音声ブラウザ ルビ付き 配色反転 文字拡大 モバイル
[^] # Re: peut-être ceci ?
Posté par nazcafan . En réponse au message Petit soucis avec les shared_ptr. Évalué à 1. Dernière modification le 03 juin 2016 à 17:58.
aussi, tu peux t'assurer facilement du fonctionnement de la mécanique de comptage en mettant
p2dans un scope :résultat :
Nb de MyInt : 5
p1 : id = 3, n_ptr = 1, addr = 0x8289030
p1 : id = 3, n_ptr = 2, addr = 0x8289030
p2 : id = 3, n_ptr = 2, addr = 0x8289030
p1 : id = 3, n_ptr = 1, addr = 0x8289030