温馨提示×

Ubuntu支持哪些C++版本

小樊
33
2026-07-06 22:08:41
栏目: 编程语言

Ubuntu 对 C++ 的支持主要体现在**系统自带的编译器(GCC / Clang)以及标准库(libstdc++ / libc++)**上,而不是“Ubuntu 只支持某个 C++ 版本”。不同 Ubuntu 版本默认搭载的编译器不同,因此支持的 C++ 标准也不同。

下面按 Ubuntu 版本 + 编译器 给你一个清晰对照。


一、Ubuntu 默认 GCC 与 C++ 标准支持

Ubuntu 版本 默认 GCC 完整支持 C++ 标准 备注
20.04 LTS GCC 9 C++11 / 14 / 17 ✅ 部分 C++20
22.04 LTS GCC 11 C++11 / 14 / 17 ✅ C++20 基本完整
24.04 LTS GCC 13 C++11 / 14 / 17 ✅ C++20 ✅ C++23 部分
24.10 GCC 14 C++11 / 14 / 17 ✅ C++20 ✅ C++23 更完整

✅ 表示基本完整支持
⚠️ 表示部分支持


二、常见 C++ 标准含义

-std=c++11
-std=c++14
-std=c++17
-std=c++20
-std=c++23

各标准常用特性支持情况(GCC)

C++ 标准 关键特性 GCC 支持情况
C++11 auto、lambda、智能指针 ✅ 全部
C++14 泛型 lambda、返回值推导 ✅ 全部
C++17 if constexpr、结构化绑定 ✅ 全部
C++20 概念、范围库、协程 ✅ 较完整
C++23 新容器、格式化 ⚠️ 逐步支持

三、Clang 支持情况(也可安装)

Ubuntu 也支持 Clang:

Ubuntu Clang libc++ C++ 支持
22.04 Clang 14 C++20
24.04 Clang 18 C++20 / C++23
sudo apt install clang libc++-dev

四、如何查看你当前 Ubuntu 支持哪些 C++ 标准

1️⃣ 查看 GCC 版本

gcc --version

2️⃣ 查看支持的标准

g++ -std=c++20 -E -x c++ /dev/null

3️⃣ 查看 C++ 特性支持

g++ -dM -E -x c++ /dev/null | grep __cplusplus

五、推荐实践(重点)

Ubuntu 22.04

-std=c++17  # 稳定、推荐
-std=c++20  # 基本可用

Ubuntu 24.04

-std=c++20  # 推荐
-std=c++23  # 可尝试

生产环境

  • C++17
  • 稳定性最好
  • 官方 LTS 长期支持

六、总结一句话

Ubuntu 本身不限制 C++ 版本,C++ 支持取决于你安装的 GCC / Clang 版本。

如果你愿意,可以告诉我:

  • 你的 Ubuntu 版本
  • 是否用于 开发 / 编译 / 生产
  • 是否需要 C++20 / 协程 / 概念

我可以给你最稳妥的编译器 + 编译参数建议

0