C++程序必须使用int main()并显式返回整数,需包含且用std::cout输出;编译时用-o指定可执行文件名;中文字符串需确保UTF-8无BOM编码及终端支持。

main函数必须返回int类型
很多初学者照着网上旧教程写 void main(),编译时会报错或警告。C++标准只承认 int main() 作为程序入口,且应显式返回整数(通常为 0 表示成功)。不写 return 0; 在 C++11 及以后虽被允许(隐式补全),但显式写出更清晰、兼容性更好。
需要包含iostream并使用std::cout
cout 不是内置关键字,它定义在 <iostream></iostream> 头文件中,属于 std 命名空间。常见错误包括:漏写 #include <iostream></iostream>、忘记用 std:: 限定、或错误写成 using namespace std; 后又在大型项目中引发命名冲突。
- 推荐写法:
std::cout - 避免全局
using namespace std;,尤其在头文件里 -
std::endl会刷新缓冲区,若只需换行可改用"\n"提升性能
编译命令别漏掉-o参数
用 g++ hello.cpp 直接编译,生成的可执行文件默认叫 a.out,容易混淆。实际开发中务必用 -o 指定输出名:
g++ -o hello hello.cpp
然后运行:./hello。Windows 下用 g++.exe 编译后生成 hello.exe,同样需加 ./ 或直接输 hello.exe(取决于 shell)。
立即学习“C++免费学习笔记(深入)”;
中文字符串可能乱码?检查源码编码和终端设置
如果把 "Hello World" 换成中文如 "你好世界" 却显示乱码,问题通常不在 C++ 本身,而在文件保存编码或终端解释方式:
- 确保源文件以 UTF-8 无 BOM 格式保存(VS Code、CLion 默认支持,记事本需手动选)
- Linux/macOS 终端一般默认 UTF-8;Windows CMD 默认 GBK,建议改用 Windows Terminal + UTF-8 设置,或改用
chcp 65001切换代码页 - C++23 起支持
u8"你好世界"字面量,但老编译器(如 GCC 12 之前)可能不识别,慎用
最简能跑通的完整代码就三行:头文件、int main()、std::cout。其它修饰(命名空间引入、换行方式、编译选项)看似琐碎,但任一环节出偏差,都会卡在“明明写了却没输出”这一步——而这恰恰是新手调试时最容易反复试错的地方。


















