gpt4 book ai didi

c++ - 为什么将语言标准从 -std=gnu++98 提升到 -std=gnu++11

转载 作者:行者123 更新时间:2023-11-27 23:48:04 26 4
gpt4 key购买 nike

我使用 -std=gnu++98 有一个相对维护良好、相当大的代码库。语言标准从gnu++98升级到gnu++11有什么好处?

如果有优势,仅从 -std=gnu++98 更改为 -std=gnu++11 就足够了吗?是否还有其他选项应该与此更改一起使用(考虑 -pendantic -pedantic-errors 如何伴随 C 的 -std=c89 或 -ansi)

最佳答案

(我将尝试提供一个笼统的一般性答案。YMMV 取决于您未提供的具体情况。)

对于现有代码库?不多。为 C++11 及更高版本编写的代码可以利用许多新的语法和语义并提高性能(例如使用 constexpr 函数、移动语义等);在您的情况下,这可能是标准库,或者您正在使用的支持更新的 C++ 语言标准的其他库。但如果性能关键代码是您自己的,我不建议推广标准版本。

话虽如此 - 如果您要使用 C++11(或者更好的是,C++14 或 C++17,它们已经过时)改造您的实际代码库,您将能够在性能方面受益、可读性、可维护性、减少代码大小等。这绝对是可取的,因为随着时间的推移,越来越多的代码将需要 C++11 或更高版本来编译。

关于c++ - 为什么将语言标准从 -std=gnu++98 提升到 -std=gnu++11,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48937039/

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