可能重复:
常规强制转换与static_cast对比dynamic_cast
在C++中,为什么要使用static_cast <int>(x)而不是(int)x?
static_cast<float>(foo)和之间有什么区别float(foo)?我经常static_cast<float>在模板代码中看到或类似于从任何整数类型到某些特定的整数类型.例如,我想要一个函数在任何整数类型上执行浮点除法.我通常会看到这样的事情:
template <typename T>
float float_div(T lhs, T rhs)
{
// I normally see this
return static_cast<float>(lhs) / static_cast<float>(rhs);
// But I could do this
// return float(lhs) / float(rhs); // But I could do this
}
Run Code Online (Sandbox Code Playgroud)
使用float(lhs)或有任何优势static_cast<float>(lhs)吗?还有什么是float(lhs)初始化/转换的名称?
| 归档时间: |
|
| 查看次数: |
220 次 |
| 最近记录: |