在谈论返回值优化(RVO)时,各种文本都提到了与命名对象的返回相关的异常情况。简而言之:
旁注:我试图添加以下标签:RVO和NRVO,但由于缺乏声誉点,我无法正确使用此帖子
答案 0 :(得分:5)
命名对象就像听起来一样:
someclass foo() {
someclass foo;
foo.member = 42;
return foo;
}
相反:
someclass foo() {
return someclass(42);
}
后一种情况很容易优化。