c++ - 将 int64_t 转换为 double

标签 c++ type-conversion

  int64_t a = 1234;

  double d = (double) a;

这是推荐的方式吗?

最佳答案

使用 static_cast 作为临时答案。我建议 反对 使用隐式转换(甚至是 C++ 源代码中的 C 样式转换),原因如下:

  • 隐式转换是编译器警告的常见来源,这意味着您可能会在构建中添加噪音(现在或稍后添加更好的警告标志时)。
  • 您身后的下一位维护程序员将看到一个隐式转换,并且需要知道这是故意行为还是错误/错误。拥有那个 static_cast 会让你的意图立即显而易见。
  • static_cast 和其他 C++ 风格的转换很容易被 grep 处理。

关于c++ - 将 int64_t 转换为 double ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/691935/

相关文章:

c++ - 重载是否违反里氏替换原则?

c++ - 在 C++ 中将对象 vector 的引用作为参数传递

java - Char 到 Int 转换 Java

javascript - javascript中如何使用id调用对象

c# - 确定类型是否可转换为 IDictionary<string, object>,其中 Key 可以是任何类型

c++ - 哪些标识符可用于构造函数初始化列表中的 lambda

c++ - 这个特定的结构如何发挥这样的作用? (arcsynthesis现代3D图形编程)

c++ - 多个 OpenMP 线程读取(不写入)共享变量的性能成本?

.NET 实现 : Double conversion in Math. Min(float, float)

c++ - C++ 中的字符串到长数组