对const的总结
本文是对C++中const的总结。
最重要的一条是const是不变的。
1 const int i = 2; //把变量i定义为一个常量
2 const引用:指向const对象的引用。
const int ival = 1024;
const int &refval = ival; //可不可修改针对于内存中的一块区域
说明:将普通的引用绑定到const对象是不合法的。
3 const_iterator类型:迭代器自身的值可以改变,但不能用来改变其指向元素的值。
4 必须用const void * 来保存const对象的地址。不能保证指向const的指针所指对象的值一定不可改变。
5 const指针,本身的值不可改变。
int errNumb = 0;
int * const curErr = &errNumb; // curErr is a constant pointer
6 指向const对象的const指针:
const double pi = 3.14159;
const double * const pi_ptr = & pi;
typedef string * pstring;
const pstring cstr; //cstr定义为指向string类型对象的const指针。
7 const int * pci = new const int(1024); //new返回的地址只能赋给指向const的指针。
8 非const引用形参只能与完全同类型的非const对象关联。应该将不修改相应实参的形参定义为const引用。非const对象即可用于初始化const引用,也可用于初始化const引用。