C++ 是什么:概念与开发环境
这是什么:C++ = 一门"快到离谱"的编译型语言,源码先被翻译成机器码再执行。
为什么用:欢迎来到 C++ 板块的第一站!没碰过编程的话,建议先去 Python 基础 找找"代码跑起来"的感觉再回来,直接从 C++ 开始也完全没问题——游戏引擎、浏览器内核这些对速度较真的地方都缺它不可。
如何用:本章先分清编译型和解释型的路线差别,再挑一条环境路线装好,最后用 g++ 走一遍"写代码 → 编译 → 运行"。
一句话解释
C++ 是一门"快到离谱"的编译型语言:你写的代码会先被完整翻译成机器直接执行的程序,跑起来几乎是全力冲刺。
编译型 vs 解释型:和 Python 的本质区别
同样是"让电脑干活",两门语言的路线完全不同:
- Python(解释型):解释器拿着你的代码,一行行边读边执行——像同声传译,随说随翻,方便但慢一点
- C++(编译型):编译器先把整个文件一次性翻译成可执行文件,再直接运行——像先翻译出版整本书,费一次事,之后读起来飞快
| Python | C++ | |
|---|---|---|
| 运行方式 | 解释器逐行执行 | 先编译成可执行文件 |
| 运行速度 | 够用,但偏慢 | 极快 |
| 上手难度 | 低 | 中等(仪式感多一些) |
| 变量类型 | 动态类型 | 静态类型,必须先声明 |
| 内存管理 | 自动垃圾回收 | 手动或智能指针 |
| 典型用途 | 脚本、AI、数据处理 | 游戏、浏览器、操作系统 |
性能之王的用武之地
凡是对速度锱铢必较的地方,都有 C++ 的身影:游戏引擎、浏览器内核、数据库、高频交易系统、嵌入式设备……学会它,你就拿到了"写底层、写高性能程序"的入场券。
开发环境三条路
| 路线 | 适合谁 | 说明 |
|---|---|---|
| Visual Studio 2022 社区版 | Windows 用户首选 | 免费、装完就能写能跑,最省心 |
| VS Code + MinGW-w64 | 想轻量、爱折腾的 | 编辑器 + g++ 编译器自由组合,配一次受益终身 |
| OnlineGDB | 今天就想跑代码的 | 零安装,浏览器里语言选 C++20,粘贴点 Run |
本板块的编译命令统一用 g++——三条路线里它都通用(VS 2022 有自己的一键运行按钮,看按钮就行)。
g++ 编译三步走预告
C++ 的代码要经过"编译"才能运行,全程就三拍:写代码 → 编译 → 运行。先睹为快:
- 把下面代码保存为
main.cpp - 在所在文件夹打开命令行,输入
g++ main.cpp -o main - 再输入
./main(Windows 写.\main.exe)
#include <iostream>
int main() {
std::cout << "C++, 我来了!" << std::endl;
return 0;
}
你会看到
C++, 我来了!
看不懂没关系,下一章逐行拆给你看。
| 命令 | 作用 |
|---|---|
g++ |
调用 g++ 编译器,把源码翻译成机器码 |
main.cpp |
被编译的源文件(C++ 源文件后缀是 .cpp) |
-o main |
指定编译产物的名字叫 main |
./main |
运行刚生成的可执行文件 |
写代码、编译、运行——C++ 的节奏永远是这三拍。
常见环境问题
| 问题 | 原因 | 修复 |
|---|---|---|
g++ 不是内部或外部命令 |
MinGW 没加到系统 PATH | 把 MinGW 的 bin 目录加到 PATH,或重新安装勾选"添加到 PATH" |
cannot find -lstdc++ |
缺少标准库 | MinGW 安装不全,重新安装并勾选所有组件 |
| 编译通过但运行报错 | 运行时缺少 DLL | 把 MinGW 的 bin 目录下的 dll 复制到 exe 同目录,或加到 PATH |
❓ 常见问题
Q1:C++ 和 Python 选哪个先学?
先学 Python 再学 C++ 会更顺畅;直接从 C++ 开始也可,只是初期多点"仪式感"(头文件、类型声明、分号、编译步骤)。
Q2:必须装 Visual Studio 吗?
不是,VS Code + MinGW 更轻量,或者直接用 OnlineGDB 零安装。
Q3:C++ 代码改完为什么不直接运行?
C++ 是编译型语言,源码改完必须重新 g++ 编译,生成新的可执行文件,才能看到新效果。
动手改
- 三条路任选一条,把环境搭好(或直接开 OnlineGDB 选 C++20)
- 把示例代码里的台词换成你自己的名字,编译运行一次
- 故意去掉
return 0;末尾的分号再编译,看看编译器怎么"报错"——报错不可怕,它是在给你指路
下一章:第一个程序,正式跑起你的第一段 C++ 🐸