我不小心将函数定义的左大括号放在 return 语句之后
int id(int k) return k; { }
但 GCC 回答了一个奇怪的错误消息
错误:不再支持命名返回值
谁能解释一下这个奇怪的功能可能是什么?我从来没有听说过。
See here http://gcc.gnu.org/onlinedocs/gcc-2.95.3/gcc_5.html#SEC106- 通过在函数头中显式定义指定返回值来实现早期 NRVO。
添加了对 NRVO 的本机支持(无需此扩展)here http://gcc.gnu.org/gcc-3.1/changes.html- GCC 3.1 发布系列。
简短剪切和粘贴上下文:
G++ 现在支持“命名返回
值优化”:对于类似的代码
A f () {
A a;
...
return a;
}
G++ 将在返回值中分配 a
值槽,这样返回就变成了
无操作。为此,所有返回
函数中的语句必须返回
相同的变量。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)