kal*_*kal 16 c++ type-conversion
int64_t a = 1234;
double d = (double) a;
Run Code Online (Sandbox Code Playgroud)
这是推荐的方式吗?
Tom*_*Tom 16
使用static_cast作为strager答案.我建议不要使用隐式转换(或者甚至是C++源代码中的C风格转换),原因如下:
static_cast可以使您的意图立即变得明显.static_cast而其他C++风格的演员阵容很容易grep处理.您应该使用static_cast或依赖隐式强制转换:
int64_t a = 1234;
double d = static_cast<double>(a);
double f = a;
Run Code Online (Sandbox Code Playgroud)
您还可以使用转换语法,它相当于 static_cast:
int64_t a = 1234;
double d = double(a);
Run Code Online (Sandbox Code Playgroud)
这是一个有用的语法结构,因为它允许在模板代码中以相同的方式处理基元类型和类类型,或者为基元执行 static_cast,或者为类类型调用构造函数。
| 归档时间: |
|
| 查看次数: |
21979 次 |
| 最近记录: |