<1>.const类型限定修饰符把一个对象转换成一个常量(constant).例如const int bufsize= 512.
<2>.因为常量在定义后就不能被修改,所以它必须被初始化。未初始化的常量定义将导致编译错误。const double pi; // 错误:未初始化常量
<3>.一旦一个常量被定义了,我们就不能改变与const对象相关联的值。
<4>."试图将一个非const对象的指针指向一个常量对象"的动作都将引起编译错误。我们必须声明一个指向常量的指针来做这件事。例如const double *cptr."cptr"是一个指向const对象的指针"。其中微妙在于cptr本身不是常量。我们可以重新赋值cptr,使其指向不同的对象,但不能修改cptr指向的对象。const对象的地址只能赋值给指向const对象的指针,但是指向const对象的指针可以被赋以一个非const对象的地址。
<5>.int *const curerr,"curerr是指向非const对象的const指针",不能给curerr其他的地址值,但可以修改curerr指向的值,并且它只能指向非const对象。
<6>.const double *const pi,pi指向的对象的值以及它的地址本身都不能被改变,pi是指向const对象的const指针。