Debian 上的 GCC 支持的 C++ 标准取决于 GCC 版本。Debian 不同版本自带的 GCC 不同,因此支持情况也不同。下面按 常见 Debian 版本 + 对应 GCC 给你一个清晰说明。
| C++ 标准 | 标准开关 | GCC 支持情况 |
|---|---|---|
| C++98 | -std=c++98 |
✅ 完全支持 |
| C++11 | -std=c++11 |
✅ 完全支持(GCC 4.8+) |
| C++14 | -std=c++14 |
✅ 完全支持(GCC 5+) |
| C++17 | -std=c++17 |
✅ 完全支持(GCC 7+) |
| C++20 | -std=c++20 |
✅ 大部分支持(GCC 10+) |
| C++23 | -std=c++23 |
⚠️ 实验性支持(GCC 13+) |
g++ -std=c++20 main.cpp
g++ -std=c++20 main.cpp
g++ -std=c++2b main.cpp # C++23 实验
g++ --version
g++ --help=c++ | grep std=
常见输出示例:
-std=c++98
-std=c++11
-std=c++14
-std=c++17
-std=c++20
-std=c++23
g++ -std=c++20 -Wall -Wextra -O2 main.cpp
g++ -std=c++17 main.cpp
Debian 稳定版 GCC 可能偏旧,你可以:
sudo apt install gcc-13 g++-13
g++-13 -std=c++23 main.cpp
Debian 上的 GCC 支持从 C++98 到 C++20,C++23 仍在实验阶段;具体支持程度取决于 GCC 版本。
如果你愿意,可以告诉我:
g++ --version 输出我可以精确告诉你 当前环境支持哪些 C++ 特性。