C++ 语言简介

C++ 语言是一种编译型的编程语言。C++语言通过编译器将用户编写的 C++ 源程序的代码编译成处理器能够识别的机器指令,然后直接在处理器上执行。C++ 语言编写的程序可以在有操作系统的计算机系统上运行,也可以在没有操作系统的单片机上运行。

C++语言由本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)于1979年在AT&T贝尔实验室研发。 C++ 在 C 语言的基础上扩充了面向对象和模板等新的特性,这让编写大型的软件程序变得更加轻松,同时也不会降低程序的执行效率。因此 C++ 可以称得上是最优秀的编译型编程语言。

C++ 作者:本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)

本贾尼·斯特劳斯特卢普

为什么学 C++语言

在国内大厂公司、军工企业的软件开发中,C++ 的使用占比较多,就业职位多。

C++的应用领域

C++语言在嵌入式、设备驱动程序、高性能计算(HPC)、游戏、云计算、桌面应用、移动应用、算法等领域有着不可替代的地位。

C++ 语言目前的状况

C++ 语言从诞生到现在有四十多年的历史。并且经久不衰,目前经 tiobe-index (最权威的编程语言排行网站) 的统计,截止 2026年8月,C++语言的排名是第三位,并且持续保持领先的位置。如下图所示:

tiobe-index排行榜

下面是自 2002 年 ~ 今的 C++ 语言排名趋势图,可见 进 20年来 C++ 语言一直处于 领先的位置。

C++语言的排行趋势图

C++ 语言优点

  1. 执行效率高,能直接在硬件上执行指令集,效率仅次于 C 语言。
  2. 支持面向对象等特性,适用于大型软件的开发和维护。
  3. 有标准模板库,标准数据结构和算法都在其中,弥补了 C 语言的不足。

C++ 语言缺点

  1. 语法比较复杂,学习 C++ 需要先精通 C 语言,学习成本高。如果不精通语法也能难写出高效率的程序。这也是有些人用 C++ 做了多年开发也不敢说精通的原因。
  2. 使用困难,如果不能理解 C++ 语法的用意依旧写不出高效率的程序。
  3. 有些修饰语只能从编译器级别实现编译时名字空间隔离,但运行时不能真正的实现内存隔离,因此依旧会出现内存泄露和崩溃的可能。

C++ 语言的标准

C++语言的标准经历了多个版本的演进,每个版本引入了新的特性和改进。以下列出几种主要的C++语言标准及其关键特性:

  1. C++98(首个ISO标准)
    • 引入的标准模板库(STL)、异常处理机制、运行时类型识别 (RTTI) 等关键特性。
  2. C++03 (2003年):
    • 技术性修正,主要修复C++98中的缺陷和Bug,没有引入新的语言特性.
  3. C++11(ISO/IEC 14882:2011)
    • 引入auto类型推导、范围for循环、Lambda表达式、智能指针、移动语义等新特性,是现代 C++ 的代表作。
  4. C++14 / C++17 / C++20 / C++23
    • 这四个版本在C++11的基础上进行了完善和少量扩展。

注: C++11 表示 2011 年发布的新标准。

本课程参照 C++11 标准(ISO/IEC 14882:2011)官方文档编写。请各位自行搜索下载。参照如下:

C++11标准官方文档第一页

官方提供了 C++ 语言的官方文档,其内部记录的各种语法的详细解释以及不同版本的 C++ 标准的差别和解释。这个文档可以作为学习 C++ 标准的依据。

C++的官方文档:

https://en.cppreference.com/