int64_t a = 1234;
double d = (double) a;
这是推荐的方式吗?
use static_cast
正如斯特雷格的回答。我建议against使用隐式转换(甚至 C++ 源代码中的 C 风格转换)有以下几个原因:
- 隐式转换是编译器警告的常见来源,这意味着您可能会向构建添加噪音(现在或稍后添加更好的警告标志时)。
- 您身后的下一个维护程序员将看到隐式转换,并需要知道它是故意行为还是错误/错误。有了那个
static_cast
让你的intent立即显而易见。
-
static_cast
其他 C++ 风格的转换很容易grep
处理。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)