(1)const限定符: 把一个对象转换成一个常量,使这个对象不可被修改。因为常量在定以后不能被修改,所以定义时必须初始化; const对象默认为文件的局部变量,在全局作用域声明的const变量是定义该对象的文件的局部变量,该变量不能被其他文件访问,如要访问必须加上extern。
(2)引用(reference):引用是一种复合类型,通过在变量名前添加“&”符号来定义。复合类型是指用其他类型定义的类型。简单的说就是一种传参的方法。如:
int i=1024;
int &re=i; //类型必须相同
const引用:指向const对象的引用。用const对象初始化非const对象是不合法的,如:
const int ival=1024;
int &ref=ival; //error!
const引用可以初始化为不同类型的对象或者初始化为右值,如:
int i=42;
const int &r=42;
const int &r2=r+i;
而对于非const引用却是不合法的。
引用计数:对指针的操作,new出指针并自动++,防止删除指针时误删内存或防止内存泄漏。
(3)typedef名字: 用来定义类型的同义词,如:
tepedef double wages;
wages hourly, weekly; //hourly、weekly的类型为double
(4) 头文件保护符:#ifndef ......
#define ......
//定义头文件内容
#endif
预防多次包含同一头文件,如果同文件被多次包含,就会产生难以理解的编译错误。