A Tour of C++ - 第2章:基础语法与类型
基本信息
- 书名:The C++ Programming Language, Third Edition
- 作者:Bjarne Stroustrup
- 章节:第2章 A Tour of C++
- 页数:24页
- 文件大小:117.14 KB
核心内容
2.1 什么是C++?
C++是一种通用目的编程语言,偏向系统编程,是更好的C语言,支持:
- 数据抽象
- 面向对象编程
- 泛型编程
本章目的是给出C++的整体概览和关键技术,不是提供详细的语言定义信息。
2.2 编程范式
面向对象编程是一种编写”好”程序的技巧——一套问题的解决方法。
区分两个概念:
- 支持(support):语言提供机制,使编程风格方便(合理简单、安全、高效)
- 启用(enable):需要异常的努力或技能才能写出这样的程序
示例:Fortran77可以写结构化程序,C可以写面向对象程序,但这样做不必要地困难。
关键编程范式
- 过程式编程(Procedural):结构化程序,函数和数据分离
- 模块化(Modularity):将程序分成独立模块
- 分别编译(Separate compilation):不同文件独立编译后链接
- 异常处理(Exception handling):处理错误和异常情况的机制
- 数据抽象(Data abstraction):隐藏实现细节,暴露接口
- 用户定义类型(User-defined types):class, struct等
- 具体类型(Concrete types):基本数据类型如int, double
- 抽象类型(Abstract types):通过接口定义的行为集合
- 虚函数(Virtual functions):多态的核心机制
- 容器(Containers):存储其他对象的对象
- 算法(Algorithms):对数据进行操作的工具
核心设计原则
- 零开销原则(Zero-overhead principle)
- 面向问题编程(Problem-oriented programming)
- 抽象数据类型(ADT)
- 泛型编程支持
与其他知识关联
- Thinking-C++-第2章-基础语法与类型 - 类似主题的不同教材版本
- APUE-第9章-进程关系 - 系统级编程知识
- Red-Hat-Linux-Unleashed学习笔记 - Linux系统编程基础
可行动点
- 重温Stroustrup原文理解C++设计理念
- 对比现代C++(C++11/14/17)与第3版的差异