【发布时间】:2015-03-26 00:26:53
【问题描述】:
我是 C++ 铸造的初学者。
我需要知道 static_cast<double> 和 double 在任何代码中都可以更改吗?
在下面的代码中,我可以用double 替换static_cast<double> 吗?这要短得多。我会失去任何可读性吗?
a= static_cast<double> ( 3 ) / static_cast<double>( 7 );
static_cast 的其他基本类型如int、char、size_t 怎么样?
根据解释,它们必须相同。但是有什么例外吗?
【问题讨论】:
-
如果你真的想的话,你可以用
(double)替换它们。 -
如果你不使用
static_cast,你可以并且应该使用double(...)而不是(double)...,例如:double(3)、double(somevar)等 -
你也可以使用文字:
a = 3.0 / 7.0. -
@RemyLebeau
double(...)和(double)...有什么区别? -
一个问题与专家建议的解决方案不兼容,有人如何将这个问题与其他地方联系起来并感觉答案很明确??
标签: c++ c++11 casting type-conversion static-cast