免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 42116 | 回复: 97
打印 上一主题 下一主题

为什么free或者delete的时候不直接将指针置成NULL? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-26 10:20 |只看该作者 |倒序浏览
为什么语言本身不在free或者delete的时候直接将指针置成NULL?这样不就完全杜绝了“野指针”的问题吗?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2009-11-26 10:27 |只看该作者
因为你选择了这样的语言。

论坛徽章:
0
3 [报告]
发表于 2009-11-26 10:31 |只看该作者
原帖由 flw 于 2009-11-26 10:27 发表
因为你选择了这样的语言。

呵呵,这回答。。。
制定C,C++语言标准的时候,那些专家也应该考虑到了这个问题吧

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2009-11-26 10:43 |只看该作者
原帖由 slow_hand 于 2009-11-26 10:31 发表

呵呵,这回答。。。
制定C,C++语言标准的时候,那些专家也应该考虑到了这个问题吧

因为在这个星球上不止有一种语言。
有些语言的标准的指定的时候,那些专家们做了另一个选择。
这不是平行宇宙,你可以随意选择。

论坛徽章:
14
巨蟹座
日期:2013-11-19 14:09:4615-16赛季CBA联赛之青岛
日期:2016-07-05 12:36:0515-16赛季CBA联赛之广东
日期:2016-06-29 11:45:542015亚冠之全北现代
日期:2015-07-22 08:09:472015年辞旧岁徽章
日期:2015-03-03 16:54:15巨蟹座
日期:2014-12-29 08:22:29射手座
日期:2014-12-05 08:20:39狮子座
日期:2014-11-05 12:33:52寅虎
日期:2014-08-13 09:01:31巳蛇
日期:2014-06-16 16:29:52技术图书徽章
日期:2014-04-15 08:44:01天蝎座
日期:2014-03-11 13:06:45
5 [报告]
发表于 2009-11-26 10:46 |只看该作者
老实说,可能你听了之后不舒服。
“free或者delete的时候直接将指针置成NULL”是一种自以为是的暴傻行为,所以C/C++不这么做。

论坛徽章:
0
6 [报告]
发表于 2009-11-26 10:50 |只看该作者
原帖由 flw 于 2009-11-26 10:43 发表

因为在这个星球上不止有一种语言。
有些语言的标准的指定的时候,那些专家们做了另一个选择。
这不是平行宇宙,你可以随意选择。

好的。您的意思是说这是语言缺陷,对吧

论坛徽章:
0
7 [报告]
发表于 2009-11-26 10:51 |只看该作者
原帖由 bruceteen 于 2009-11-26 10:46 发表
老实说,可能你听了之后不舒服。
“free或者delete的时候直接将指针置成NULL”是一种自以为是的暴傻行为,所以C/C++不这么做。

您能指出原因来吗?

论坛徽章:
0
8 [报告]
发表于 2009-11-26 10:52 |只看该作者

回复 #5 bruceteen 的帖子

为什么呢?

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2009-11-26 10:54 |只看该作者
原帖由 slow_hand 于 2009-11-26 10:50 发表

好的。您的意思是说这是语言缺陷,对吧

选择,不是缺陷

论坛徽章:
0
10 [报告]
发表于 2009-11-26 11:04 |只看该作者
spirit of c:
1,Trust the programmer.
2,Don't prevent the programmer from doing what needs to be done.
3,Keep the language small and simple.
4,Provide only one way to do an operation.
5,Make it fast, even if it is not guaranteed to be portable.

不同的程序员会期待语言帮他们做更多的事情,对于这个问题 这几条设计精髓可以很好的回答。
另外一个直接的回答就是 NULL 是什么,或者说这个平台有没有NULL,我不知道语言标准
是不是必需要关心亦或是平台相关。

[ 本帖最后由 zhoubug 于 2009-11-26 11:06 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP