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/