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