私は以下のようなshared_ptrsのベクトルを持っています。std :: vectorのshared_ptr要素の置き換え
std::vector<std::shared_ptr<SharedThing>> things;
今の私は、ベクター上にshared_ptrsの数をプッシュするとしましょう、私は私が望む新しいのshared_ptrとそれらの要素の一つを交換する必要がある場合には、各要素は現在、1
の参照カウントを持っています古いshared_ptrがスコープから外れる。通常の要素割り当てはこれを達成するか、shared_ptrの内容をコピーするだけですか?例:
things.at(0) = new_shared_ptr;
これはthings.at(0)の参照カウントを減らし、new_shared_ptrのカウントを増やすのでしょうか?
はい、これを証明するためにデバッガを使用します。 –
http://en.cppreference.com/w/cpp/memory/shared_ptr/operator%3D – GManNickG