最近在改一份同事写的代码,看到他用了很多double literals,于是乎突然想到标题的问题。。
现在也没得出个结论,欢迎大家的实际经验。
看过的贴子:
http://topic.youkuaiyun.com/u/20081003/21/15613a1f-98e2-4047-83ea-c2cb9921bf42.html
http://www.daniweb.com/forums/thread176435.html
http://stackoverflow.com/questions/417568/float-vs-double-performance
看过这三处地方后没再继续找资料,也没写一个循环100w次的测试程序,呵呵。。。
其实还有很多类似的经典而久远的疑问:i++,++i谁快(注意,这里的i指Intergral types,不指C++的迭代器类型);用*(p+i)会比p[i]访问快吗;new快还是malloc快(不考虑构造类对象);等等。。
或许正确的态度应该是:抛开这些语言级别的无关痛痒的争论,将自己关注的焦点集中到整体架构和核心算法(会在CPU运行80%时间的那20%的代码)
[2011-02-26] 在C++ Primer, 4E, Ch2, Section2.2(Advice: Using the Built-in Arithmetic Types)中终于找到了点权威的资料。。