丢失或不稳定指针

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

const 指针

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

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

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

相关文章: