【发布时间】:2013-10-01 12:54:38
【问题描述】:
我有一行代码
double i = 1 + (long)1.5* 5.0f
我的问题是转换顺序和结果是什么?一直在寻找这样的例子,但无济于事。有什么好的指南可以帮助我理解它吗?
【问题讨论】:
-
如果您不确定,请将括号放入您的代码中。 ((长)(1.5 * 5.0f))
-
你说的是优先表吗?
-
@MartinPerry - 如果您不确定,请进行一些研究。盲目地添加括号通常会造成难以理解的混乱。或者,在这种情况下,使用新的样式转换:
static_cast<long>(1.5*5.0f)似乎是一个不错的选择。
标签: c++ implicit-conversion explicit-conversion