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