【问题标题】:C++: "Prefer statically type-checked solutions (when applicable)"C++:“首选静态类型检查解决方案(如果适用)”
【发布时间】:2020-12-09 05:47:00
【问题描述】:

首选静态类型检查解决方案(如果适用)。

(2013) Bjarne Stroustrup,C++ 编程语言第 4 版

Stroustrup 对这个建议有何意义?

【问题讨论】:

  • 是这样吗?后面没有解释这一行的文字吗?
  • 我可以猜到这意味着什么,但 SO 不参与猜测。建议:查看C++ Core Guidelines,里面可能会附有解释和代码示例。
  • 我相信它的意思是“如果你使用dynamic_cast,你做错了。而且“字符串类型的数据是不好的”

标签: c++ typechecking static-typing


【解决方案1】:

“首选可以静态检查的解决方案。”

静态检查:在程序运行之前自动发现错误。

动态检查:代码执行时自动发现bug。

见:Static Checking (MIT Edu)


出于清晰度和性能方面的原因,编译时检查(何时何地)总是比运行时检查好得多。您无需为编译时捕获的错误编写错误处理程序。

见:P.5: Prefer compile-time checking to run-time checking(感谢@user4581301

【讨论】:

    猜你喜欢
    • 2015-11-20
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    • 2023-01-09
    • 2010-11-02
    • 2015-04-16
    • 1970-01-01
    • 2011-06-29
    相关资源
    最近更新 更多