文章原创,转载请注明链接
哎,这几天为了查内存泄露费心得很,还是缺少编程的好习惯,现在总结一下,以免忘了:
指针使用前要为其分配内存,定义之后如不立即使用应该置为NULL,以免成为野指针。New是用来为已经定义的指针分配内存的,而delete是用来释放其内存的(内存数据不会清零,但是已经不能再通过指针对其引用和访问了)但是释放之后指针还是指向原来的地址,因而应该将指针置为NULL,否则将成为野指针。这里应该清楚的是定义指针和为其分配内存、释放内存不是一回事。
在VC++中则由于类头文件中定义的指针在类导入内存中就存在,所以应该在类的构造函数中初始化为NULL,在析构函数中也置为NULL。