API设计原则

  • Post author:
  • Post category:IT
  • Post comments:0评论

(感谢好友@李鼎翻译此文) 原文链接:API Design Principles – QT Wiki 基于Gary的影响力上 Gary Gao 的译文稿:C++的API设计指导 译序 Qt的设计水准在业界很有口碑,一致、易于掌握和强大的API是Qt最著名的优点之一。此文既是Qt官网上的API设计指导准则,也是Qt在API设计上的实践总结。虽然Qt用的是C++,但其中设计原则和思考是具有普适性的(如果你对C++还不精通,可以忽略与C++强相关或是过于细节的部分,仍然可以学习或梳理关于API设计最有…

继续阅读API设计原则

浮点运算潜在的结果不一致问题

  • Post author:
  • Post category:IT
  • Post comments:0评论

昨天阿楠发现了项目中的一个 bug ,是因为浮点运算的前后不一致导致的。明明是完全相同的 C 代码,参数也严格一致,但是计算出了不相同的结果。我对这个现象非常感兴趣,仔细研究了一下成因。 原始代码比较繁杂。在弄清楚原理后,我简化了出问题的代码,重现了这个问题: static void foo(float x) { float xx = x * 0.01f; printf("%d\n", (int)(x * 0.01f)); printf("%d\n", (…

继续阅读浮点运算潜在的结果不一致问题