C++类型转换运算符
C++中提供4中类型转运算符,分别是:static_cast、dynamic_cast、reinterpret_cast和const_cast;
语法格式如下:
类型转换运算符 < type_id> (expreession);
说明:type_id是目标类型;expression是原数据。
1、dynamic_cast:主要用于类层次间的上行转换和下行转换。当在类层次间上下行转换时,dynamic_cast和static_cast效果是一样的:当运行下行转换时,dynamic_cast具有类型检查功能,比static_cast更安全(dynamic_cast运算符还需要虚拟机制的支持)。
2、reinterpret_cast:可以把整形值转换为地址。C++编译器认为程序员十分了解此类强制转换带来的后果,因此,把它由此带来的不可预计的后果全部让程序员承担,这也是合理的。
3、const_cast:const_cast转换符是用来移除变量的const或volatile限定符。