shared_ptr<int> ptr (new int(5));
ptr = new int(6); // this is illegal
Как перенаправить ptr из существующего объекта (int 5) на другой объект?Перенаправить share_ptr, чтобы указать на другой объект
Обратите внимание, что импликация, ref count to object int 5 должна быть уменьшена. и объект ptr должен указывать на новый объект int 6 после предполагаемого «присвоения».
Cheers.
ли вы по крайней мере попытался посмотреть на [интерфейсе 'станд :: shared_ptr'] (http://en.cppreference.com/ж/CPP/память/shared_ptr)? – Angew
Предпочитают ['std :: make_shared'] (http://en.cppreference.com/w/cpp/memory/shared_ptr/make_shared):' auto ptr = std :: make_shared (5); ptr = std :: make_shared (6); '. Он более прост, легче набирать - с 'auto', что есть, и сложнее совершать ошибки. –
Casey