通过复杂性获取简单性
世界是复杂的,复杂性变得隐蔽;计算机也是一样的
抽象是C++的主题,C++的复杂性大部分是为了提供某种手段进行问题抽象
- C++没有內建复数算法的概念,但允许以几乎和FORTRAN中內建形式一样的方式实现复数
- FORTRAN的方法(內建复数)更好
- 但是FORTRAN很难实现其他算术数据结构如四元数
- C++的抽象机制使得在别的语言中很困难甚至根本不可能实现的工作变得简单
- 例如:
- 赋值和初始化的区别
- 不使赋值等价于初始化后紧跟析构操作,使如字符串切片替换之类的操作的实现相对容易得多
C++提供给库设计者们更策略化的可能性,从而使他们能考虑更多
- 经过精心设计的C++库很好用
- 优秀的库难实现
- 內建在编译器中更困难
- C++提供中等程度的抽象粒度,允许无需改变编译器内部的工作模式就能够详细地定义抽象概念的具体行为
打开C++的正确方式
- 避免使用指针
- 提倡使用程序库
- 使用类表示概念
《C++沉思录(Cplusplus Thinking)》笔记