1
正確方法,我剛開始接觸boost::shared_ptr
所以我四處搜尋工作,我看到有初始化它的幾種方法:初始化的boost :: shared_ptr的
boost::shared_ptr<MyClass> myclass = boost::shared_ptr<MyClass>(new MyClass());
boost::shared_ptr<MyClass> myclass = new MyClass();
boost::shared_ptr<MyClass> myclass = boost::make_shared<MyClass>();
和分配它:
boost::shared_ptr<MyClass> someOtherType::getMyClass();
boost::shared_ptr<MyClass> myclass = someOtherTypePointer->getMyClass();
boost::shared_ptr<MyClass> myclass = boost::make_shared<MyClass>(someOtherTypePointer->getMyClass());
哪一個是init/assign的首選方式,爲什麼?
謝謝。
你應該糾正的例子:'class'是保留關鍵字: – manlio
你分配的例子並不是真正的任務(它的副本initalizations) – AlexT