C++:RVO
RVO即Return Value Optimization,是一种编译器优化技术,可以把通过函数返回创建的临时对象给”去掉”,然后可以达到少调用拷贝构造的操作。
NRVO,即Named Return Value Optimization,简单的来说是这样的一种情况:
class BigObject { };
BigObject foo() {
return BigObject(); // RVO
}
BigObject bar() {
BigObject localObj; return localObj; // NRVO
}
作者:蓝色 链接:http://www.zhihu.com/question/32237405/answer/55440484 来源:知乎 著作权归作者所有,转载请联系作者获得授权。