C++四种转换

C++四种转换:static_cast , dynamic_cast , const_cast , reinterpret_cast

1.static_cast

实现C++中内置基本数据类型之间的相互转换;如果涉及到类的话,static_cast只能在有相互联系的类型中进行相互转换,不一定包含虚函数

2.const_cast

在同一数据类型之间加上或者去掉const属性

3.reinterpret_cast

-将内置的数据类型为其他任何的数据类型;将指针转化为其他类型的指针;将内置数据类型转化为指针;

2.dynamic_cast(用在继承体系中,基类与子类之间指针或引用的转换  )

(1)dynamic_cast是运行时处理的,运行时要进行类型检查

(2)不能用于内置的基本数据类型的强制转换
(3)转换如果成功的话返回的是指向类的指针或引用,转换失败的话则会返回NULL
(4)使用dynamic_cast进行转换的,基类中一定要有虚函数,否则编译不通过
posted @ 2017-03-30 22:48  lp3318  阅读(169)  评论(0)    收藏  举报