声明 extern
1、声明不一定要有extern关键字,如int i;
这句话就是一个声明。也可写成extern int i
;
2、声明不会为变量分配空间。
固定修饰符 const
1、const相当于java中的final,一旦被初始化后就不能再改变
2、const默认为文件的局部变量
3、加上extern修饰符后,const定义的变量才能作用于全局
对于非内部数据类型的输入参数,应该将“值传递”的方式改为“const 引用传递”,目的是提高效率。例如将void Func(A a)
改为void Func(const A &a)
。
对于内部数据类型的输入参数,不要将“值传递”的方式改为“const 引用传递”。否则既达不到提高效率的目的,又降低了函数的可理解性。例如void Func(int x)
不应该改为void Func(const int &x)
。
4、const引用必须成对出现,即const引用的对象也必须是const
5、const引用右端可以是常值
typedef
1、用于定义类型同义词,即类型的别名
2、为了隐藏特定类型的实现,强调使用类型的目的。
3、简化复杂的类型定义,使其更易理解。
4、允许一种类型用于多个目的,同时使得每次使用该类型的目的明确。
命名空间using
使用标准库如std::cin,使用using std::cin;则可直接使用cin关键字。
迭代器iterator
1、const_iterator只能读数据,不能写数据
2、*iter被称之为解引用,直接指向数据