我觉得这个nrvo可能要把返回值定义在栈入口处,这样退栈少退一点,才能免掉一次拷贝。可是要这么干必须让编译器在编译的时候就识别出那个对象是要返回的。
理论上来说,函数内部栈上对象拷出去是必须调用copy ctor的,我不认为还有什么其他方法实现rvo
【 在 here080 @ [CPlusPlus] 的大作中提到: 】
:
: 不对吧,这是很老的编译器行为吧。
: 【 在 hyperLee (老李) 的大作中提到: 】
: : 标 题: Re: 关于copy elision和move ctor
: : 发信站: 水木社区 (Sat Jul 18 08:29:51 2020), 站内
--
FROM 120.244.224.*