指针的初始值问题探索

一直一来形成了个习惯,在用指针前先判断该指针是否为NULL,今天碰到一个小问题,指针没有new()生成,但是判断的时候却不为NULL.
 用一点小段代码演示一下:(vs2005)
 
class A
{
public:
 A(){}
 ~A(){}
};
void CDemoDlg::OnBnClickedButton1()
{
 
  A *p; //此处 p = 0xcccccccc
 int a;
 a = 10;
}
 仔细了解原来是这样的:
(Debug调试版为了防止错误,会将未初始化对象内存空间初始化为0xcccccccc
正好是int 3机器码,防止程序错误跑飞破环其他程序和系统 )
好了知道原因了,那么我们在类成员声明一个指针时,一定要注意在构造函数中把这个指针初始化为NULL。
Debug调试版为了防止错误,会将未初始化对象内存空间初始化为0xcccccccc
正好是int 3机器码,防止程序错误跑飞破环其他程序和系统
 

你可能感兴趣的:(职场,初始化,指针,休闲)