C++ 简介
作为 C 语言之父们的同事,Bjarne Stroustrup 在 Bell 实验室,基于 C 并融入了 Simula 的面向对象思想而创造了它,并由 ISO 实现了标准化,经过多年演化,它已然具备非常多的特性和编程范式。
C++ 非常庞大而有趣,但它恪守两点:
- 不为花把式做冤大头;
- 用户自定义类和内置类型等同。
它具有的特点:
- 面向过程的 C 风格编程
- 面向对象
- GUI
- 泛型
- STL
- 数据抽象
Java 是 C++ 的竞争者,然而视一切为对象的 Java 在大规模和复杂性方面相比 C++ 来说会显著增加(同样意味着运行成本也显著增加)。
Java 把 C++ 的指针封装起来,叫做引用。
关于 C++ 调试
主要靠领悟来调试。
C++ 的安全性
安全性是一个系统问题。即使所有的代码完美无缺,系统依然存在漏洞。追求完美,会让成本超出可以承受的范围。
怎么看待 BSD 和 Linux 用 C 实现?
优秀的程序员会使用更先进的特性,这有助于直接表达,但也没有增加开销。
C++ 的设计
- 以表达思想为目标,在时间和空间上生成高效的代码。
- 稳定
C++ 社区
- C++ 没有官方的中心仓库
- 每个大公司维护者自己的 C++ 库
- 管理大社区的离心力,否则承受反噬。