Const限定修饰符
1. const int buffersize = 512 // 常量,不允许用非const对象指针指向
如int *psize = &buffersize //error
const int *psize = &buffersize //right.
2. const double *pc = &dval; // 指向double类型的,被定义成const的对象的指针;pc可指向新对象,但不可修改pc 指向的值
如 pc = &anotherdval; //anotherdval 可以是非常量
*pc = 0 //error
3. double *const curErr = &errNumb; //指向非const对象的const指针,curErr的值不能修改,但可通过*curErr修改errNumb的值
const double *const pi_ptr = π // 指向const对象的 const 指针,pi_ptr的值和指向对象的值都不能修改
4. 参数传递中容易出现的问题
int len(const char* str)
{
char* p = str; //error, const 的传给非const的。
int i;
for (i = 0; *p; i++, p++);
return i;
}