C++中的四种运算符转化及不同点:

C++中的四种运算符转化及不同点:


(1)const_cast操作符:即工程设计师在特殊情况下将限制为const成员函数的const定义解除
,使其可以更改特定属性。
(2)dynamic_cast操作符:如果启动了支持运行时间类型信息(RTTI),
dynamic_cast有助于判断在运行时所指向对象的确定类型。它与typeid运算符有关,可以将一个基类
的指针指向不同的子类型(派生类),然后将被转型作为基础类的对象还原成原来的类。
(3)reinterpret_cast操作符:将一个指针转换成其他类型的指针,新类型的指针与旧
指针可以毫不相干。通常用于非标准的指针数据类型转换,例如将void*转换为char*。
它也可以用于指针与整形数之间的类型转换。但需要注意的是:它存在潜在的危险,除非有使用它的充分必要
,否则不要轻易使用它。例如:将一个int*类型的指针转换为float*类型的指针,
会很容易造成整数数据不能被正确的读取。
(4)static_cast操作符:在相关的对象和指针类型之间进行类型转换。有关的类之间必须
通过继承构造函数或者转换函数进行联系。static_cast操作符还能在数字(原始的)
类型之间进行类型转换。通常情况下,static_cast操作符用在数域较大的类型转换为较小的类型。当
转换的类型是原始数据类型时,这种操作可以有效地禁止编译器发出警告。

猜你喜欢

转载自blog.csdn.net/qq_35965090/article/details/77170687
今日推荐