0

我目前正在编写一些代码(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 也是可以的。

那么在这种情况下使用引用的可能原因是什么?

4

1 回答 1

1

可能的原因有:

  1. 表现。传递引用(一个 CPU 寄存器)而不是按值传递智能指针应该更快。您的性能测试有问题。
  2. 节省堆栈空间。按值传递的智能指针在堆栈上比引用占用更多空间。
于 2015-08-13T09:57:06.157 回答