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

(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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值