1.程序两个方面组成:算法的集合,数据的集合
2.程序设计方法:
(1)过程化;一个问题由一系列的算法来建立模型,数据存储起来,用过程访问修改。
(2)基于对象;通过数据抽象建立对象模型,把数据以私有形式存放在类中,与每个类相关的算法称为该类的共有接口。
(3)面向对象;通过继承(代码重用)和动态绑定(对共有接口的重用)机制,扩展了了抽象数据类型。
3.迭代即循环
4.防止重复包含
#ifndef FILENAME_H
#define FILENAME_H
......//头文件内容
#endif
“只要不存在两个必须包含的头文件要检查一个同名的预处理器常量,这个机制就能很好的运作”
理解:防止在头一个中修改,另一个中影响判断
例如a.h和b.h均判断XXX定义了么,然后把头文件包含到c.h文件中
在c.h文件中,先包含a,发现并未定义XXX,所以a的内容导入,又包含b,此时XXX已定义,所以b的内容不导入,这与本意a,b的内容均导入c不一致了。
5.常用的预处理器名字
__cplusplus
__STDC__
__LINE__
__FILE__
__TIME__
__DATA__
预处理器宏 assert(express)当express为真继续执行,为假显示信息,然后终止。
6.操作符,在iostream上执行的是一个操作,而并非简单提供数据
cout << ‘/n'; //提供数据
cout << endl; //在输出流插入一个换行符,然后刷新输出缓冲区
7.iostream头文件中预定义了<<和>>操作符
fstream中预定义了ofstream,ifstream
8.string word;
infile >> word;
标点符号当成串的一部分,而回车换行符,被过滤了