Ответ 1
Листинг C-стиля может быть любым из следующих типов приведений:
-
const_cast
-
static_cast
-
static_cast
, за которым следуетconst_cast
-
reinterpret_cast
-
reinterpret_cast
, за которым следуетconst_cast
первый из этого списка, который может быть выполнен, - это то, что будет выполняться приложением C-стиля (из С++ 03 5.4: "Явное преобразование типа (отличная нотация)"
Итак, для вашего примера:
double x = 10.3;
int y;
y = (int) x;
тип используемого приведения был бы static_cast
.
И y = reinterpret_cast<int>(x);
не будет компилироваться.