C++ 语言简介

在动手装环境之前,我们先认识一下 C++ 到底是什么、为什么值得学、能用它做什么。理解了背景,学习的时候会更有的放矢。

C++ 是什么?

C++ 是丹麦计算机科学家 Bjarne Stroustrup1979 年于贝尔实验室(Bell Labs)开始设计的一门静态编译型语言。它最早叫 "C with Classes"(带类的 C),顾名思义就是在 C 语言基础上加了"类"这个面向对象特性。1983 年正式更名为 C++,1985 年第一个商用版本发布。

名字里的 ++ 是 C 语言的自增运算符——意思是"C 的进阶版"。这是 Bjarne 的一个英式幽默。

诞生背景:用 C 的性能写 Simula 的抽象

故事要从 Bjarne 的博士论文说起。他在剑桥大学写论文时用了 Simula 语言——世界上第一门面向对象语言(类、继承、虚函数都是它发明的)。Simula 写大型程序非常优雅,但运行慢得让人崩溃:编一个 200 行的程序,编译要几分钟,跑起来还卡。后来他到贝尔实验室做分布式系统,改用 C 语言,发现 C 飞快,但写复杂业务逻辑非常痛苦——没有类、没有真正的抽象。

于是他灵机一动:能不能在 C 的基础上,加上 Simula 的面向对象特性,保留 C 的性能?这就是 C++ 的雏形。设计目标可以总结为四点:

C++ 的核心特点

第一个 C++ 程序

说了这么多,先看一眼代码。C++ 的"Hello World"长这样:

#include <iostream>
using namespace std;

int main() {
    cout << "Hello, World!" << endl;
    return 0;
}
// 输出: Hello, World!

逐行解释:

C++ 比 C 多了什么?一个小例子

同样打印"姓名+年龄",C 和 C++ 的写法对比:

// C 风格:需要指定格式符,类型不匹配会输出乱码甚至崩溃
printf("name=%s age=%d\n", name, age);

// C++ 风格:自动推断类型,安全
cout << "name=" << name << " age=" << age << endl;

差别一目了然:C++ 不需要操心格式符(%s%d)与变量类型一一对应——这是 C 程序员常踩的坑(类型不匹配会输出乱码甚至崩溃)。C++ 的 cout 通过运算符重载自动推断类型。

C++ 都用在哪?典型应用场景

C++ 是"性能敏感型"领域的首选。下面这些明星项目都是 C++ 写的:

简单说:需要极致性能、需要直接操作硬件、需要复杂抽象的场景,C++ 几乎不可替代。

C++ vs 其他语言

该不该学 C++?

如果你的方向是游戏开发、图形、嵌入式、AI 底层、数据库、量化交易、操作系统,C++ 几乎是必修课。学完本系列,你将能独立用 C++ 写一个完整的命令行工具、读懂 STL 源码、理解绝大多数 C++ 项目代码。

即便你最终工作不用 C++,学好它也能让你更深刻地理解内存、性能和抽象——这些是任何高级语言都不会教你的。

← 返回 C++ 教程目录

下一篇 C++ 环境搭建

✈️💬