gpt4 book ai didi

C++指针和优化

转载 作者:行者123 更新时间:2023-11-28 06:10:17 25 4
gpt4 key购买 nike

我读到 C++ 编译器会为您进行优化(或至少应该),程序员不应该太多担心它。

但这与指针相比如何呢?好像每次做函数都要决定要不要用指针。这背后的原因是什么?编译器不应该尽可能地为你做这些吗?

难道没有一个关键字可以在方法签名中使用,声明作为参数给出的对象不会发生变化,以便编译器可以优化内容吗?

为什么(不)有一个?

最佳答案

使用对象作为参数,编译器可能会也可能不会执行 copy ellision取决于许多因素。如果有疑问,编译器可以安全地假设函数可能想要更改参数并可能避免复制省略优化。

相反,如果您使用 (const) 引用或指针,它会向编译器提供更强的保证,即对象不会更改或调用者也需要在函数中本地完成的更改。

一般来说,应该避免微优化,除非使用一些分析证明瓶颈,并专注于代码的可读性以更好地维护和架构更改,这可以提供更高的优化并且不能由工具建议/执行。

关于C++指针和优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31400272/

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