gpt4 book ai didi

c++ - 编译器什么时候执行 RVO?

转载 作者:行者123 更新时间:2023-11-28 03:19:15 28 4
gpt4 key购买 nike

似乎有很多关于编译器何时执行 RVO 或为什么在某某情况下不执行 RVO 的问题。

看完http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/我似乎也无法理解它。

基本上,编译器似乎“通常”会执行某种优化,但在极少数情况下它不能。

如果我正确理解了 Dave Abrahams 的文章,他并没有真正建议按值返回,除非出于更好的可读性的原因。对我来说,这表明为了可读性和一致性,始终传递大输出值的引用可能是个好主意。

那么我应该传递引用以避免复制,还是有什么方法可以查明编译器是否会优化掉一个拷贝?

此外,确定编译器是否会以特定方式优化的努力实际上少于仅通过引用传递吗?

最佳答案

这篇文章的全部意义在于告诉您您不必担心。优化是一个黑匣子,除非在极少数情况下,否则您不应该关心。

编译器在认为 RVO 适用时执行 RVO

关于c++ - 编译器什么时候执行 RVO?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15951082/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com