c++函数返回临时变量和局部变量,有什么区别?cherbim3年前发布1080A e = returnValue();只打印了一句,我理解执行打印了 default constructor ,然后 return 时经过 RVO 优化,就少打印一次。然后经过 里面提到的 纯右值的优化,又少打印一次。A e2 = returnValue_2();打印两次是因为:执行打印了 default constructor ,然后 return 时经过 RVO 优化,就少打印一次。但由于函数返回值类型为 A&&,作为 亡值,就必须调用 移动构造函数。但 A e1 = returnValue_1();为什么打印这两句阿?(它的返回值类型就是 A ,不是 A&&啊)顺便问下,移动赋值操作符这里的提示是啥意思呀
没有回复内容