收集好习惯<( ̄︶ ̄)↗

来源:互联网 发布:幼儿园营养配餐软件 编辑:程序博客网 时间:2024/04/29 23:24

(1) //======================================

 Type *p=new Type();

delete p;

p=NULL;     //

有个常见的错误是当返回一个基于栈分配的局部变量的地址时,一旦调用的函数返回,分配给这些变量的空间将被回收,此时它们拥有的是"垃圾值"。

int * func ( void ){    int num = 1234;    /* ... */    return #}

在调用func之后一段时间,尝试从该指针中读取num的值,可能仍然能够返回正确的值(1234),但是任何接下来的函数调用会覆盖原来的栈为num分配的空间。这时,再从该指针读取num的值就不正确了。如果要使一个指向num的指针都返回正确的num值,则需要将该变量声明为static

不要返回指向栈内存的指针或引用,因为栈内存在函数结束时会被释放。

更多 野指针,迷途指针 来自:http://zh.wikipedia.org/wiki/%E8%BF%B7%E9%80%94%E6%8C%87%E9%92%88


(2)//======================================

if(p){ //??忘了。。。

p=new ClassType();

}

if ( pNULL )    *pNULL = 100;//这样程序就不会给空指针所指变量赋值了。( 给空指针所指内存区域——0x00000000赋值时,系统会报错哦~)


(3)//======================================

class ABC

{

} ;

(4)//======================================

-842150451,这个数字通常是 直接输出未初始化整数造成的。

(5)//======================================

防止意外,有if 必有else;有case必有default

(6)//======================================



0 0
原创粉丝点击