C++之父是比雅尼·斯特劳斯特鲁普,他在C语言基础上扩展出支持面向对象的系统编程语言,命名“C++”寓意“比C更进一步”;他坚持零开销原则、保留底层控制力、推动标准化,并强调用C++解决实际工程问题。

C++之父是丹麦计算机科学家比雅尼·斯特劳斯特鲁普(Bjarne Stroustrup)。他不是凭空“发明”C++,而是在20世纪70年代末于贝尔实验室工作期间,为解决实际工程问题——尤其是需要高效、灵活又支持抽象建模的系统编程语言——在C语言基础上逐步扩展出一套新特性,最终形成了C++的雏形。
为什么叫C++?名字背后有讲究
最初它被称作“C with Classes”(带类的C),强调对C的兼容与面向对象能力的引入。“++”是C语言中的自增运算符,象征在C的基础上“向前一步”。Stroustrup本人多次幽默表示:这个名字既简洁,又暗示了“比C更进一步”,但绝不是“C加一等于D”——它仍是C的演进,不是替代。
他做了什么关键设计?
Stroustrup没有追求“完美语言”,而是坚持“满足真实需求”的工程哲学:
- 保留C的底层控制力(如指针、内存管理、零开销抽象),同时加入类、构造/析构函数、继承、多态等机制;
- 提出“零开销原则”:你不用的特性不该带来运行时或空间代价;
- 推动标准化:从1985年首版《C++程序设计语言》到参与ISO C++标准制定,他始终强调可移植性与稳定性;
- 拒绝过度抽象——比如早期明确反对垃圾回收作为默认内存管理方式,认为程序员应掌控资源生命周期。
他不只是语言设计者
Stroustrup长期在AT&T、贝尔实验室、德州农工大学和摩根士丹利工作,持续参与C++演进。他写书、讲课、审阅提案、批评过度复杂化——例如公开质疑某些模板元编程滥用会损害可读性。他的博客和访谈里反复强调:“C++不是教人怎么写C++,而是教人怎么用工具解决难题。”
立即学习“C++免费学习笔记(深入)”;
他至今仍活跃在C++社区,关注现代C++(如C++11及以后的智能指针、移动语义、模块等)如何让代码更安全、更清晰,而非更炫技。










