* cast *和* conversion *的含义是什么?

时间:2010-11-12 17:33:03

标签: c++ casting terminology

  

可能重复:
  Is there any difference between type casting & type conversion?

我个人可以互换使用 cast 转换这两个词。那是对的吗?如果没有,有什么区别?

4 个答案:

答案 0 :(得分:3)

转换需要从不同类型B的实例构造类型A.

Casting需要使用一个或多个多种C ++强制转换操作符或C风格的强制转换。

答案 1 :(得分:3)

我不认为它们是相同的 - 转换会导致编译器执行显式转换,但您也可以进行隐式转换,例如。

double d = 23; // implicit conversion from int to double

对战:

int i = static_cast<int>(23.0); // explicit conversion from double to int

答案 2 :(得分:0)

转换意味着获取特定类型的值并执行某些功能以提供另一种类型的表示。 Casting简单地说“假设这个数据属于这种新类型”。有些演员暗示会导致转换,所以我觉得它有点可以互换。

答案 3 :(得分:0)

演员表是一种特殊类型的转换。另一种类型是由atoi和itoa等函数以及字符串流执行的类型。另一种类型是这样的:

int minutes_to_seconds(int minutes) { return minutes * 60; }