一、关于C++的四个强转
- 格式:类型(变量、表达式、值)
- (C语言的强转方式C++适用,但是C++的强转C语言不适用)
1.static_cast
- 格式:static_cast<类型1>(值);
说明:
-
值将会转换成类型1的类型
-
static_cast不做任何检查
2.const_cast
- 格式:const_cast<类型2>(值);
说明:
- const_cast会把变量的const去掉
3.reinterpret_cast
- 格式:reinterpret_cast<类型3>(值);
说明:
- 把整数变成地址 huo 把地址变成整数
4.dynamic_cast
- 格式:子类名=dynamic_cast<类型4> (new 父类名);
说明:
- 检查多态中父类和子类指针的应用是否安全,如果不安全则将返回值赋为空