在 Ubuntu 上查看 C++ 版本,通常要看你指的是哪一种“版本”。下面按常见需求分别说明:
如果你是用 g++ 编译 C++ 程序:
g++ --version
示例输出:
g++ (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
这表示:
gcc 和 g++ 一般是同一个版本:
gcc --version
可以编译一个测试程序:
echo | g++ -dM -E -x c++ - | grep __cplusplus
示例输出:
#define __cplusplus 201703L
含义:
199711L → C++98201103L → C++11201402L → C++14201703L → C++17202002L → C++20⚠️ 注意:这是 编译器默认标准,不是系统全局标准。
clang++ --version
which g++
或:
dpkg -l | grep g++
apt-cache policy libstdc++6
或:
strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
❌ Ubuntu 本身没有“一个 C++ 版本”
✅ C++ 版本由 编译器 + 编译参数 决定
例如:
g++ -std=c++20 main.cpp
g++ --version
如果你愿意,可以告诉我:
g++ / clang / cmake我可以给你更精确的判断。