I am currently working on some code (c++11), which makes heavy use of references on pointers, e.g.
class SomeClass;
class MyClass
{
public:
MyClass( const std::shared_ptr < SomeClass > & class)
: m_class(class)
{}
private:
std::shared_ptr < SomeClass > m_class
}
I made some tests on the performance on this (using Visual Studio 2013 VC12) and there seems to be no difference in time. Handing over a Null-Ptr is also okay.
So what are possible reasons for using a reference in this case?
The possible reasons are: