【发布时间】:2015-11-06 05:25:25
【问题描述】:
我目前正在编写一些代码 (c++11),它大量使用指针上的引用,例如
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制作了一份副本。
标签: c++ pointers c++11 pass-by-reference pass-by-pointer