以下兩段代碼是否有區別?他們中的任何一個比另一個更可取? 運營商= boost::shared_ptr<Blah> foo; // foo.ptr should be NULL
foo = boost::shared_ptr<Blah>(new Blah()); // Involves creation and copy of a shared_ptr?
重置 boost::shared_p
首先應該起作用,然後不起作用。爲什麼這不是問題。 我聲明瞭兩個類: class Base { ... };
class Derived : public Base { ... };
然後我有以下功能別處: void foo(shared_ptr<Base> base);
下面的代碼應該工作的權利? share_ptr<Derived> derived;
foo(derived);
已經有幾個關於這個主題的問題,但我仍然不確定該怎麼做:我們的代碼庫在很多地方使用shared_ptr。我不得不承認,我們在寫作時沒有明確界定所有權。 我們有像 void doSomething(shared_ptr<MyClass> ptr)
{
//doSomething() is a member function of a class, but usually won't st