代码之家  ›  专栏  ›  技术社区  ›  Björn Pollex

“转换”和“转换”的含义是什么?[副本]

  •  3
  • Björn Pollex  · 技术社区  · 14 年前

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

    我个人使用这些术语 铸造 转变 可互换。对吗?如果没有,有什么区别?

    4 回复  |  直到 8 年前
        1
  •  3
  •   Stuart Golodetz    14 年前

    我认为它们不一样——强制转换会导致编译器执行显式转换,但也可以进行隐式转换,例如。

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

    与之相比:

    int i = static_cast<int>(23.0); // explicit conversion from double to int
    
        2
  •  3
  •   Steve Townsend    14 年前

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

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

        3
  •  0
  •   jball    14 年前

    转换意味着获取特定类型的值并执行某些函数以提供另一种类型的表示。Casting只是说“假设此数据属于这种新类型”。一些强制转换会隐式地导致转换,所以我认为这有点可互换。

        4
  •  0
  •   Benjamin Lindley    14 年前

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

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