跳到主要内容

C++ 简介

作为 C 语言之父们的同事,Bjarne Stroustrup 在 Bell 实验室,基于 C 并融入了 Simula 的面向对象思想而创造了它,并由 ISO 实现了标准化,经过多年演化,它已然具备非常多的特性和编程范式。

C++ 非常庞大而有趣,但它恪守两点:

  1. 不为花把式做冤大头;
  2. 用户自定义类和内置类型等同。

它具有的特点:

  • 面向过程的 C 风格编程
  • 面向对象
  • GUI
  • 泛型
  • STL
  • 数据抽象

Java 是 C++ 的竞争者,然而视一切为对象的 Java 在大规模和复杂性方面相比 C++ 来说会显著增加(同样意味着运行成本也显著增加)。

Java 把 C++ 的指针封装起来,叫做引用。

关于 C++ 调试

主要靠领悟来调试。

C++ 的安全性

安全性是一个系统问题。即使所有的代码完美无缺,系统依然存在漏洞。追求完美,会让成本超出可以承受的范围。

怎么看待 BSD 和 Linux 用 C 实现?

优秀的程序员会使用更先进的特性,这有助于直接表达,但也没有增加开销。

C++ 的设计

  • 以表达思想为目标,在时间和空间上生成高效的代码。
  • 稳定

C++ 社区

  • C++ 没有官方的中心仓库
  • 每个大公司维护者自己的 C++ 库
  • 管理大社区的离心力,否则承受反噬。