裸指针的六个问题

1>难以区分指针指向的是单个对象还是一组对象。  
2>使用完指针之后无法判断是否应该销毁指针,因为无法判断指针是否“拥有”指向的对象;  
3>在已经确定需要销毁指针的情况下,也无法确定是用delete关键字删除,还是有其他特殊的销毁机制例如通过将指针传入某个特定的销毁函数来销毁指针所指资源;  
4>即便已经确定了销毁指针的方法,由于1的原因,仍然无法确定到底是用delete(销毁单个对象还是delete[]销毁一组对象;  
5>假设上述的问题都解决了,也很难保证在代码的所有路径中(分支结构,异常导致的跳转),有且仅有一次销毁指针操作;任何一条路径遗漏都可能导致内存泄露,而销毁多次则会导致未定义行为;  
6>理论上没有方法来分辨一个指针是否处于悬挂状态;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值