C++ Primer Plus <阅读笔记>
c++包括
- 面向对象编程
- 泛型编程
- 传统的过程化编程
工具书最好 简单、明了、生动有趣
面向对象编程 < OOP >
OOP提供了一种新的方法,与强调算法的过程性编程不同的是,OOP强调的是数据。
不像过程性编程那样,试图使问题满足语言的过程性方法, 而是试图让语言来满足问题的要求。其理念使设计与问题的本质特性相对应的数据格式。
思考:这是决定是否为合格的OOP代码的重要指标
从低级组织(类)到高级组织(程序)的处理过程叫做自下向上的编程
非常重要的模块
- 模板
- 异常
- 名称空间
C++的真正优点之一:可以方便的重用和修改现有的、经过仔细测试的代码
函数头
函数头描述了函数与调用它的函数之间的接口。位于函数名前面的部分叫作函数返回类型, 它描述的是从函数返回给调用它的函数的信息。函数名后括号中的部分叫作形参列表(argument list)或参数列表(parameter list);它描述的是从调用函数传递给被调用的函数的信息。
C++注释
在任何情况下,C++程序都不能理解注释。
应当写注释,程序越复杂,注释的价值越大。
endl控制符
endl确保程序继续运行前刷新输出,而"\n"不能提供这样的保证。
源代码中的标记和空白
一行代码中不可分割的元素叫作标记(token)。通常,必须用空格、制表符或回车将两个标记分开,空格、制表符和回车统称为空白(white space)。
声明语句和变量
程序中的声明语句叫作定义声明(defining declaration)语句,简称为定义(definition)。这意味着它将导致编译器为变量分配内存空间。
类简介
类定义描述的是数据格式及其用法,而对象则是根据数据格式规范创建的实体。
函数
不要混淆函数原型和函数定义
思考:属于个人风格问题
int test(int data); // 可以在参数名称上再一次向使用者递进参数信息
int test(int); // 一目了然
函数头就应当像后者,而实现的时候就应当像前者
如果一定要写函数原型,那么不混淆是好的