类型转换

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

 分类和例子 

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

一些语言中可能同时提供这些不同形式的典型的类型转换，以及其它的可能和上下文相关的类型转换，例如ISO C++的std::is_convertible使用的“转换” ，既不是类似C语言的cast notation 或前缀的转换操作符形式 的显式转换，也不是标准转换 这样的隐式转换。

 外部链接 
 Casting in ABAP 
 Casting in Ada 
 Casting in C++
 C++ Reference Guide Why I hate C++ Cast Operators, by Danny Kalev
 Casting in Java 
 Implicit Conversions in C# 
 Implicit Type Casting at Cppreference.com 
 Static and Reinterpretation castings in C++ 
 Upcasting and Downcasting in F#

Category:类型论
Category:数据类型
Category:运算符_(编程)