0
我目前正在研究一些代碼(C++ 11),這些代碼大量使用了指針上的引用,例如,我爲什麼要在智能指針上使用智能指針作爲C++中的參數引用
class SomeClass;
class MyClass
{
public:
MyClass(const std::shared_ptr <SomeClass> & class)
: m_class(class)
{}
private:
std::shared_ptr <SomeClass> m_class
}
我在這方面做了一些測試(使用Visual Studio 2013 VC12),並且似乎沒有時間差異。移交一個Null-Ptr也是可以的。
那麼在這種情況下使用參考的可能原因是什麼?
否則 - 它創建一個副本並增加'ref_count'直到刪除。我錯了嗎,@BartoszKP? –
@VictorPolevoy只要構造函數存在,參數就會被刪除,所以它無關緊要。並且還爲'm_class'創建了一個副本。 – BartoszKP