最简版Hello World只需三行代码:包含头文件、定义int main()函数、用std::cout输出字符串;编译运行命令为g++ hello.cpp -o hello && ./hello,无需额外环境配置。
直接上手就能跑通,不需要额外配置环境——只要系统里装了 g++ 或 clang++,一行命令就能编译运行。
新建一个文件,比如叫 hello.cpp,内容就三行:
#includeint main() { std::cout << "Hello World" << std::endl; }
注意点:

std::cout 和 std::endl 必须带 std:: 前缀,除非你加了 using namespace std;(不推荐初学就加) 是输入输出流头文件,不是 ,C++ 里不用 C 风格头文件main() 返回类型必须是 int,不能是 void,否则某些编译器会警告甚至报错终端里执行这行命令:
g++ hello.cpp -o hello && ./hello
说明:
g++ 是 GNU C++ 编译器;macOS 上可用 clang++ 替代-o hello 指定输出可执行文件名,不加的话默认是 a.out
&& 表示前一条成功才执行后一条,避免编译失败还去运行command not found: g++,Windows 用户需安装 MinGW 或 WSL;macOS 装 Xcode Command Line Tools;Linux 大多自带或用 sudo apt install g++
编译时出错,别急着搜“C++ hello world 报错”,先看错误信息里最关键的几个词:
undefined reference to 'main' → 文件里没写 main() 函数,或拼错了(比如写成 void main())expected unqualified-id before '{' token → main() 前少写了 int,或者函数体外多写了代码'cout' is not a member of 'std' → 忘了 #include ,或大小写写成 Cout
no matching function for call to 'operator → 字符串用了单引号,比如 'Hello World'(单引号是 char,双引号才是字符串)很多教程教你在最后加 system("pause") 或 getchar(),但这是 Windows 控制台遗留习惯。现代做法是:
system("pause") 不跨平台,Linux/macOS 没这个命令;getchar() 在某些环境下会读到残留换行符,导致跳过等待std::cin.get(); 更安全,但仅限本地测试,不要写进正式代码第一行输出背后其实牵扯了标准库加载、IO 缓冲、程序入口约定这些机制,但起步阶段只管让它跑出来就行——等你开始改输出内容、加变量、读输入时,那些细节才会真正变得重要。