类型转换

在计算机科学,特别是在程序设计语言中,类型转换()指将数据从一种类型转换到另一种类型的过程。一个简单的例子是将整数转换成浮点数。

分类和例子
类型转换包括显式指定被转换到的类型的显式转换(explicit cast)(或称铸型(cast)),以及与之相对的隐式转换(implicit conversion)。其中,后者在一些语言中也被称为强制(coercion),被认为是一种特设多态机制。因为翻译不准确等原因,这两者之间的对应常被混淆。例如,C语言中的显式类型转换被误作为“强制转换”,这是技术上不正确的(事实上C语言的规范中完全没有“强制”的说法,但明确地有显式和隐式转换)。

一些语言中可能同时提供这些不同形式的典型的类型转换,以及其它的可能和上下文相关的类型转换,例如ISO C++的[http://eel.is/c++draft/meta.rel#5 std::is_convertible使用的“转换”] ,既不是类似C语言的[http://eel.is/c++draft/expr.cast cast notation] 或[http://eel.is/c++draft/expr.post 前缀的转换操作符形式] 的显式转换,也不是[http://eel.is/c++draft/conv#1 标准转换] 这样的隐式转换。

外部链接

评论 (0)

  • 还没有评论,来抢沙发吧。