gpt4 book ai didi

c++ - GCC 使用旧版本的 C++

转载 作者:行者123 更新时间:2023-11-28 06:44:42 29 4
gpt4 key购买 nike

我正在使用 cplusplus 网站教程学习 C++。我正在使用以下软件:

  • CentOS 6.4
  • 代码:: block 10.05
  • 海湾合作委员会 4.4.7

这些是 yum 提供的最新版本。当我按照教程进行操作时,我注意到它所说的很多内容对我不起作用。例如,我不能在字符串前加上“u”、“U”、“L”等前缀。此外,“nullptr”无法识别,它会产生编译器错误。我环顾四周,注意到这些特性是在 C++11 中添加的。所以我当然认为我必须有一个旧版本的 C++。

根据 this page 的第 2.2 节中的 GCC 文档, "如果没有给出 C++ 语言方言选项,则默认为 -std=gnu++98"。

所以我想我需要指定 -std=gnu++0x。我尝试将其放入我的 Code::Blocks 编译器参数中,但它没有任何改变。相反,我检查了编译器标志“让 g++ 遵循即将到来的 C++0x ISO C++ 语言标准 [-std=c++0x]”。这也没有任何改变。

谁能告诉我我需要做什么才能让 Code::Blocks 和 GCC 使用当前版本的 C++?

最佳答案

启用 C++11 功能的规范标志是 -std=c++11,但由于 GCC 扩展,大多数 C++11 功能应该开箱即用.无论如何你都应该设置标志,因为当你可以采用新标准时依赖扩展是不好的做法。

但是,您的 GCC 版本有点过时了。您应该从您的包管理器或 https://www.gnu.org/software/gcc/index.html 获取最新的稳定版本

或者,您可以尝试其他编译器,其中很多都支持 C++11。 Clang(++) 是一个流行的选择。

关于c++ - GCC 使用旧版本的 C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25222334/

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