免费注册 查看新帖 |

Chinaunix

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

让我欢喜让我忧——我的C++之路 [复制链接]

论坛徽章:
0
201 [报告]
发表于 2012-04-20 18:38 |显示全部楼层
OwnWaterloo 发表于 2012-04-20 18:22
回复 665# hbmhalley

说服不了就说服不了呗……    还是能暴露许多事情的……  比如:


既然你也不会投string.h?既然现在有补救的方法,并且得到了大多数实现的支持,我实在找不到放着好东西不用而要去将就一个不太合理的东西。难道仅仅就因为他是标准?标准是人定的,也可以改变的吧

啥都不说了,口水都费了好多,等投票结果吧

论坛徽章:
0
202 [报告]
发表于 2012-04-20 18:40 |显示全部楼层
pmerofc 发表于 2012-04-20 18:34
回复 671# walleeee

他所谓的“实用”大概是指编译通过,而且是在个别编译器上

并不是个别,而是主流的大多数的
至少我用了VS,MinGW,Cygwin的C编译器

论坛徽章:
0
203 [报告]
发表于 2012-04-21 11:39 |显示全部楼层
pmerofc 发表于 2012-04-21 09:10
很多人都没看到700楼编辑前的内容
那是该书第3章前两页的内容
我看了一眼


这里确实是一个错误
可能是在后期的排版过程中错位引起的
这个错误会在再次重印的时候改正的

谢谢你指出

论坛徽章:
0
204 [报告]
发表于 2012-04-21 11:57 |显示全部楼层
关于string.h和memory.h,我想我们已经经过足够的自由辩论了,就像辩论赛一样,让我们最后来一个总结发言吧,然后将总结发言放到投票贴子中,让大家用鼠标表态吧
争论下去,恐怕谁也无法说服谁

为什么我要在程序中include <memory.h>来使用memset?
还记得在大学时刚开始接触C++,老师就告诉我说,应该将函数声明放在与之相关的头文件中,getrectarea应该放在rect.h而不是与之关系不大的circle.h中。

正是基于这样的教育,所以我才觉得将memset操作内存的函数放在memory.h要比放在一个操作字符串的string.h中要更加合适。从这里,我们也可以看到,将memset放到string.h至少是标准的一个瑕疵。我想这一点应该是大家的共识。如果你不认同这一点,那么下面的内容就没有必要再看了。

那么现在问题归结到了如何面对一个有瑕疵的标准,或者是如何面对标准中的瑕疵。大家的观点是,既然是标准,虽然有瑕疵,也要无条件的遵守,否则岂不乱套了。而我的观点是,虽然是标准,但是有瑕疵,并且,现在的主流编译器都提供了弥补方案(memory.h),为什么不采用这些更好的弥补方案而要去一错到底?

大家反驳说,有些实现并不提供memory.h,在我看来,这是一种权衡和取舍,这些非主流的实现,我八辈子都不会用到,我为什么要去为了这些八辈子都不会用到的实现而去牺牲自己程序的可读性?

所以,我觉得用memory.h并无什么不妥



论坛徽章:
0
205 [报告]
发表于 2012-04-21 12:32 |显示全部楼层
zhaohongjian000 发表于 2012-04-21 12:19
这哥们要真用VC,怎么会连int占几个字节都不知道。。。


我也奇怪了
写这本书的时候,我更多的用的是MinGW,偶尔用一下VC,看看是否兼容
关于int的字节,这确实是一个非常严重的低级错误,这是不可原谅的,在此郑重地向读者道歉
重印的时候,已经作了修订,希望能够将这个影响减到最低

论坛徽章:
0
206 [报告]
发表于 2012-04-21 12:35 |显示全部楼层
walleeee 发表于 2012-04-21 02:26
还有,我刚才看了中间一些楼的帖子,发现你别人给你点出一个问题,你马上就是

“那该怎么办呢?”

还有,我刚才看了中间一些楼的帖子,发现你别人给你点出一个问题,你马上就是

“那该怎么办呢?”
“有什么好办法吗?”
“正确的该是什么呢?”

我是来请教的,各位指出的地方我不是特别理解,所以问一下

我也会加强自身的学习的,谢谢各位的帮助

论坛徽章:
0
207 [报告]
发表于 2012-04-21 14:25 |显示全部楼层
关于string.h和memory.h,归根结底,是一个选择的问题
你选择string.h,会遵守标准,获得可移植性,但是会丧失一定的可读性
我选择memory.h,不遵守标准,会丧失一定的可移植性,但是会获得一定的可读性

这就是一个权衡的问题,一个选择的问题
而这里的可读性和可移植性都非常细小
而并不是一个本质的对错问题

论坛徽章:
0
208 [报告]
发表于 2012-04-21 14:29 |显示全部楼层
hellioncu 发表于 2012-04-21 13:28
只能解释为作者还在用16位的编译器
我猜作者大概30岁,按说上大学的时候不应该还用16位的( ...

关于int,这就是一个错误,我承认,我也向读者道歉,并积极挽回影响

至于产生这个错误的原因,可能是我当时脑子进水了,也可能是编辑眼花了,或者是校对没有注意
总之,这个错误已经产生了,我是作者,我应该负责
我向读者们道歉,并加强自身的学习,避免类似的错误再次发生

论坛徽章:
0
209 [报告]
发表于 2012-04-21 16:42 |显示全部楼层
pmerofc 发表于 2012-04-21 15:00
那张表至少有10个错误


那张表,是一个从头到脚的错误
SORRY,是我最后没有把好关

论坛徽章:
0
210 [报告]
发表于 2012-04-21 16:44 |显示全部楼层
pmerofc 发表于 2012-04-21 15:50
一、 “整型数值类型”

1.


1.
整型中难道还有非数值类型吗?
所以数值两个字是完全多余的
// 这里,我是将char字符类型归为了整型

2.
整型 类型
这完全是老谭的语言风格
小学老师把这叫病句

// 这可能是受了谭老师的影响,谢谢你指出
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP