当一个函数采用shared_ptr(来自boost或C++ 11 STL)时,你传递它:
shared_ptr
通过const引用: void foo(const shared_ptr<T>& p)
void foo(const shared_ptr<T>& p)
或按价值:void foo(shared_ptr<T> p)?
void foo(shared_ptr<T> p)
我更喜欢第一种方法,因为我怀疑它会更快.但这真的值得吗还是还有其他问题吗?
您能否说出您选择的原因或案例,为什么您认为无关紧要.
c++ boost shared-ptr c++11
boost ×1
c++ ×1
c++11 ×1
shared-ptr ×1