指针(三)

丢失或不稳定指针

当程序对指针进行 delete 操作,从而释放他的内存。然后没有重新赋值就试图使用该指针时,就形成丢失指针。进行 delete 操作后,指针仍然指向旧的内存区,但编译器可以在那里存放任何其他数据。最坏的时候使用该指针可能导致程序崩溃。为安全起见,在删除指针后设置它为 null(0).

const 指针

const 可以在指针类型前,后,或者前后都用。例如:

// 指向常数的指针,程序不能改变它所指向的值
const int* pOne;
// 指向整数的常数指针。整数可变,但 pTwo 不能指向任何其他数据
int* const pTwo;
// 指向常整数的常数指针。不可以改变 pThree 指向的值,也不能改变 pThree 指向其他任何数据。
const int* const pThree;

判断 const 语义的方法是,看 const 右边是类型还是变量。是类型则类型是常数,反之亦然。

posted on 2005-04-26 00:38  NeilChen  阅读(538)  评论(0编辑  收藏  举报

导航