C++ 强制类型转换static_cast<typeName>

2023-12-23 19:45:37

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<>比传统强制类型转换更严格。

执行结果:

文章来源:https://blog.csdn.net/wendyWJGU/article/details/135160264
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。