批判《高质量C++编程指南〉个本书。
我看了这本书,觉得有的地方确实是有点新意,例如重载、继承、隐藏等。但是大部分东西是别的地方早有论述的。最可气的是那份试卷,水平不咋样却被不少公司用作考试题目。
以下这题就误人子弟。
请写出 float x 与“零值”比较的 if 语句。(4 分)
标准答案示例:
const float epsinon = 0.00001;
if ((x >= - epsinon) && (x <= epsinon)
不可将浮点变量用“==”或“!=”与数字
比较,应该设法转化成“>=”或“<=”此
类形式。
推荐阅读
楼主不妨说说这题如何误人子弟了?
up
林锐的,还是很不错的。
这方面的书确实不少,抄袭也正常。
楼主例举的题没什么不对啊
卷子的确是被不少公司用来做笔试题,呵呵
这本书我没看过,不过我看这个题目很好啊,为什么你觉得是误人子弟?不妨说出来大家讨论先?
那本书只是入门的时候可以看而已。
这道题目是正确的呀,没有什么错误呀,而且举的很好,以前老是听老师说浮点型变量不能和零值比较,我是记住了,不过老师从来没有说过万一需要的话应该怎么办
这个说法可以说非常正确,不过0值应该没这个问题吧?0.0正好可以完整的表示出来啊?
这道题说的很对呀,我学c还有别的语言的时候老师也说过深入浮点型变量不能和零值进行比较,我是记住了,可是老师从来没有说过如果必需和零值比较的话应该怎么办,看了那本书收获不小呀
我当初进公司的时候考的也是这份,虽然考的不好,但是不能不说这是一份好卷子
我考的不及格,呜呜。
从此发奋学习。
这本书在他刚写完的时候来看看还是很不错的,虽然里面有很多观点过于死板或不太正确。现在我们有更多更好的大师级c++著作来看了,这本书的价值也变低了。
不过楼主举的这个例子实在不说明什么,这样来比较浮点数应该说是比较合理的。
个人意见:
不同的平台上浮点数的精度不同,没有准确地把浮点数字和0比较的方法。
书上的写法过于死板,而且没有移植性,严格说是错误的。
楼上举的例子是没有问题,我也不太喜欢这本书中的题,因为关于bool的那题没有太多意义,毕竟还是bool安全,只有vc中才总需要关心bool的问题
浮点数最好不要和0比较,精度和语言,编译器都关系。
这本书不错,对于我等初学者来说
规范了编程的风格,养成了良好的编程习惯,受益匪浅
这不仅仅是float能不能和0.0比较的问题,对于float型变量,大多数时候最好用<和>,而不要使用==。
但是否float就不能使用==呢?这种看法当然也是错误的。撰写代码的人必须清楚在这个时候的float变量究竟是一个精确的值还是一个经过计算的,产生了误差的值。
这本书的规定有些过于死板,并非一定要死抠他的教条,不过作为一个程序员,应该明白这些教条内在的涵义。
当初我们就作了一次,几乎完全不过关
用处不能说没有,毕竟提出了一个规范
可以有选择的接受


讨论区