首页 > 程序开发 > 软件开发 > C++ >

c++中各种类型转换方法

2017-10-17

c++中各种类型转换方法。const_cast:去掉const属性;dynamic_cast:只能用于指针和引用的转换,只能用于指针和引用的转换,可以将父类指针转换成对应的子类指针,但是在向下转换的时候父类一定要有虚函数,否则会编译错误,如果是转换失败,指针的转换会返回null,引用的转

const_cast:

去掉const属性

dynamic_cast:

只能用于指针和引用的转换,可以将父类指针转换成对应的子类指针,但是在向下转换的时候父类一定要有虚函数,否则会编译错误,如果是转换失败,指针的转换会返回null,引用的转换会抛出异常。

static_cast:

可以实现基本类型之间的相互转换,可以实现空类型指针到其他类型指针的转换,可以实现子类和父类之间的互相转换,可以实现任何类型转换成void类型。

reinpreter_cast:

可以实现不相关类型的转换,简单的实现二进制的拷贝,并不作任何类型检查,所以类似于int转向double的情况,就会出问题,因为只是简单的将4个字节的二进制转换给double,而并不满足double的二进制保存方式,在自己的编译器测试,编译不通过

相关文章
最新文章
热点推荐