结束了 C 语言的学习,我们开始探索 C++ 这门更强大的编程语言。C++ 在 C 语言的基础上发展而来,既保留了其高性能特性,又增加了面向对象和泛型编程等现代化功能。
经过数十年发展,C++ 通过命名空间解决了标识符冲突问题,提供了丰富的标准模板库,C++11 及后续标准更带来了革命性改进。本文将梳理 C++ 的发展历程、推荐学习资源,并解析核心概念,帮助大家顺利开启 C++ 学习之旅。
一、波澜壮阔的 C++'发家'历史
纵观 C++ 的发展史,可谓波澜壮阔,总的可以从以下几个关键发展节点进行概括:
1. C with Classes (1979-1983)-起源
'C++之父':本贾尼·斯特劳斯特卢普
开创初衷: 在 C 语言的高效和底层控制能力基础上,通过增加面向对象和泛型编程等机制,来应对大规模软件工程的复杂性。
关键特性: 主要引入了类、基本继承、内联函数和访问控制等核心概念。
2. 早期发展:C++的"++"从何来 (1983-1989)
- 正式命名: 1983 年,语言正式更名为 C++。"++"是 C 语言的自增运算符,象征着对 C 语言的超越。
- 语言丰富特性: 增加了虚函数、函数和运算符重载、引用、常量等,奠定了其特色功能。
- 走向世界: 1985 年,本贾尼发布经典著作《The C++ Programming Language》,同年首个商业 C++编译器 C Front 发布,推动了语言的普及。
3. 标准化与成熟 (1990-1998)
- 标准启动: 为避免不同编译器可能导致的分裂,ANSI 和 ISO 于 1990 年联合开始了 C++的标准化进程。
- STL 的融合: 标准模板库 (STL) 被纳入标准草案。STL 提供了泛型的容器、迭代器和算法,极大提升了代码的复用性和表现力。
- 首个国际标准:C++98 于 1998 年正式发布。它统一了语言规范,确立了模板、异常处理等现代特性,这标志着 C++成为一个成熟、稳定的工业级语言。
4. 现代化浪潮(2011-至今)
- 里程碑: C++11,被视为现代 C++的开端,是一次翻天覆地的更新。
- 持续演化:
- C++14:对 C++11 的小幅度增强和缺陷修复,被叫做'完整版的 C++11';
- C++17:引入更多的实用特性,如结构化绑定、
std::filesystem、std::variant等; - C++20:C++的一次飞跃,引进了模板、概念、协程等改变编程范式的强大特性;
- C++23:对 C++20 的进一步完善,增加了更多的标准库支持和语言特性。



