C ++ shared_ptr - присоединить новый необработанный указатель? - PullRequest
2 голосов
/ 22 июля 2010

Я думаю, что мне здесь не хватает чего-то простого. Я использую Boost's shared_ptr.

shared_ptr<Foo> pA(new Foo()); 
shared_ptr<Foo> pB(new Foo()); 

Теперь я хочу переключить pB, чтобы оно содержало содержимое pA, уменьшая счетчик ссылок pB. Как я могу это сделать?

1 Ответ

9 голосов
/ 22 июля 2010

Все это делается автоматически:

pB = pA;  // pB ref count is decrement (in this case causing the value to be released)
          // pB is then made to point at the same value as pA
          // Thus incrementing the refCount.
...