A *foo(A a)
{
cout << "-----foo enter-----"<< endl;
A *p = new A();
cout << "-----foo exit------"<< endl;
return p;
}
A *boo(const A& a)
{
cout << "----------boo enter--------"<<endl;
A *p = new A();
cout << "----------boo exit --------"<< endl;
return p;
}
这两个函数的语义一样,但是下面的函数效率高一些,因为少了一次拷贝构造函数
C++构造函数效率探讨
本文对比了两个C++函数的实现方式,并分析了它们之间的效率差异。其中一个函数通过引用传递参数,避免了不必要的拷贝构造,从而提高了性能。
4万+

被折叠的 条评论
为什么被折叠?



