有什么区别:
double x = 10.3;
int y;
y = (int) x; // c-like cast notation
并且:
double x = 10.3;
int y;
y = reinterpret_cast<int>(x)
答案 0 :(得分:3)
C风格的演员表可以是以下任何类型的演员表:
const_cast
static_cast
static_cast
后跟const_cast
reinterpret_cast
reinterpret_cast
后跟const_cast
该列表中的第一个可以完成的是C风格演员表演的内容(来自C ++ 03 5.4:&#34;显式类型转换(演员表示法)&#34;
所以对你的例子来说:
double x = 10.3;
int y;
y = (int) x;
使用的演员类型是static_cast
。
y = reinterpret_cast<int>(x);
不会编译。