C++允许通过强制类型转换机制显式地进行类型转换。强制类型转换的格式有两种。
如: 为将存储在变量nData中的int值转换为long类型,可以使用下面的表达式中的一种:
(long)nData
long(nData)
强制类型转换不会修改nData变量本身,二十创建一个新的、指定类型的值,可以在表达式中使用这个值。
强制类型转换的通用格式如下:
(typeName) value //来自C语言
typeName (value) //来自C++
新格式的想法时,要让强制类型转换就像是函数调用。这样对内置类型的强制类型转换就像是为用户定义的类设计的类型转换。 C++引入了4中强制类型转换运算符,对它们的使用要求更为严,在这四个运算符中,static_case<>可用于将值从一种数值类型转换为另一种数值类型。
如:static_case<long>(nData) // 将nData转换为long类型
类型转换格式
static_case<typeName> (value) //将value的类型转换为typeName类型
C语言的强制类型转换由于有过多的可能性而及其危险。所以运算符static_cast<>比传统强制类型转换更严格。
执行结果: