C++中有4种类型转换操作符,先简要说一下区别,以后再具体扩充。
(1)static_cast
将一个值以符合逻辑的方式转换。可以看作是利用原值重建一个临时对象并在设立初值时使用型别转换。
(2)dynamic_cast
将多态型别向下转型为其实际静态型别。这是唯一在执行期进行检验的转型动作,可以用它来检验摸个多态对象的型别。
派生类型别 * p = dynamic_cast<派生类型别 *>(基类型别对象)
(3)const_cast
设定或去除型别的常数性,也可以去除volatile饰词。除此之外不允许任何转换。
(4)reinterpret_cast
此操作符的行为由实际编译器定义,使用此转型动作通常带来不可移植性。