免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123
最近访问板块 发新帖
楼主: ilex
打印 上一主题 下一主题

[C++] 经常见到的一个的面试题。。 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2013-08-04 00:51 |只看该作者
回复 18# ErenNo1

1. 针对strcpy函数,首先NULL对strcpy来说,strcpy不能确定NULL到底是不是一个无效的地址,这是无法确定的事。
2. 如果NULL是个无效的内存地址,那么在调用时传入NULL,将会导致crash。
3. 而如果通过判断参数避免NULL,这是非常愚蠢的事,这种做法只不过是在掩盖错误而已,这将导致错误更难被发现,也就是所谓的“面条代码,百折不曲”,天朝码农所谓的‘稳定’。

论坛徽章:
0
22 [报告]
发表于 2013-08-04 15:21 |只看该作者
学习了,貌似笔试的时候,经常按照标准答案写,完全没有考虑这么多

论坛徽章:
0
23 [报告]
发表于 2013-08-04 22:54 |只看该作者
回复 21# jackarain

谢谢,学习了!


   

论坛徽章:
0
24 [报告]
发表于 2013-08-05 13:08 |只看该作者
ilex 发表于 2013-07-15 23:42
【题:】编写类String的构造函数、析构函数和赋值函数,已知类String的原型为
class String
{


默认不用对new的返回进行判断,也不用对delete的输入进行判断,否则是画蛇添足了,表示未深刻理解new&detele,除非改变了它的默认行为。

论坛徽章:
30
摩羯座
日期:2013-12-23 17:28:38牛市纪念徽章
日期:2015-07-13 11:35:582022北京冬奥会纪念版徽章
日期:2015-08-07 17:10:57青铜圣斗士
日期:2015-11-27 17:45:3815-16赛季CBA联赛之天津
日期:2016-02-15 13:44:3615-16赛季CBA联赛之江苏
日期:2018-05-02 16:56:2715-16赛季CBA联赛之辽宁
日期:2018-08-08 13:41:1015-16赛季CBA联赛之深圳
日期:2018-10-02 18:05:0315-16赛季CBA联赛之天津
日期:2019-05-31 15:05:0615-16赛季CBA联赛之北京
日期:2022-06-30 13:34:1115-16赛季CBA联赛之同曦
日期:2022-07-06 19:33:5415-16赛季CBA联赛之吉林
日期:2022-12-28 14:16:22
25 [报告]
发表于 2013-08-05 14:34 |只看该作者
从来不对分配内存和释放内存的指针做NULL检查,但是释放内存要把指针置NULL

论坛徽章:
0
26 [报告]
发表于 2013-08-05 19:14 |只看该作者
bruceteen 发表于 2013-07-17 09:05
我也没看出来,作为示例代码这完全够了,加上完善的细枝末节代码反而会影响自己所想表达的代码。
但楼主 ...


想想C++中的std::string,检查参数为NULL了吗?
这个还真是有别的原因,因为string类是一个基础类,调用频繁,为了保证效率也不会去做“几乎没用”的检查
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP