相关疑难解决方法(0)

返回值优化(RVO)是不是一个bug?

我可能会问一个愚蠢的问题,但我在这里查看了RVO的维基百科页面,并且无法停止想知道这种行为是否错误.我在我的机器上尝试了它,尽管优化水平,RVO仍然完全被踢了.如果确实有一些大的构造happenning?我知道它不应该,但如果呢?我无法理解为什么在构造函数中存在副作用时仍会发生RVO.

编辑:-fno-elide-constructors似乎停止RVO.但问题仍然存在.

编辑2:更严重的是,有多少人知道这样的事情?它可能在标准中,但它仍然是一个非常难看的功能,因为我看到它.至少编译器应该默认禁用它,并为知道这一点的人提供一个开关.:)

编辑3:我仍然坚持认为这真的很糟糕.:).我不认为我知道任何其他语言约束直接违背语言的语法.其他一切都会引发编译器或链接器错误吗?

c++ return-value-optimization

7
推荐指数
3
解决办法
1085
查看次数

标签 统计

c++ ×1

return-value-optimization ×1