У меня есть вектор shared_ptrs, как показано ниже.Замена элементов shared_ptr в std :: vector
std::vector<std::shared_ptr<SharedThing>> things;
Теперь, скажем, я нажимаю ряд shared_ptrs на вектор и каждый элемент теперь имеет счетчик ссылок 1.
Когда мне нужно заменить один из этих элементов с новым shared_ptr Я хочу old shared_ptr, чтобы выйти из сферы действия. Будет ли регулярное назначение элемента достигнуть этого или просто скопировать содержимое shared_ptr. Например:
things.at(0) = new_shared_ptr;
Будет ли это уменьшает счетчик ссылок things.at (0) и приращение подсчета new_shared_ptr?
Да, используйте это для отладки s. –
http://en.cppreference.com/w/cpp/memory/shared_ptr/operator%3D – GManNickG