xxx_cast类型转换的实现方法分享!

xxx_cast是一个统称,它指的是static_cast(静态转换),const_cast(常量转换),reinterpert_cast(重解释转换),dynamic_cast(动态转换)。本次我们就了解一下他的用途及其转换方式。

1.static_cast(静态转换)

静态转换全部用于明确定义达到转换,包括编译器允许我们所做的不用强制转换的安全变换和不太安全的但清楚定义的变换。

2.const_cast(常量转换)

如果从const转换为非const或从volatile转换为非volatile,就可以直接使用const_cast,也是唯一允许的转换做法。

3.reinterpert_cast(重解释转换)

这是最不安全的一种转换机制,最有可能出现问题,reinterpret_cast把对象假想为模式,是一个完全不同类型的对象,在使用reinterpret_cast做任何事之前,实际上总是需要reinterpret_cast转换回原来的类型。C++中的reinterpret_cast主要是将数据从一种类型准换位另一种类型。所谓“通常为操作数的位模式提供较低层的重新解释”也就是说将数据以二进制存在形式的重新解释。

4.dynamic_cast(动态转换)

针对继承体系中,主要用于类型安全的向下转换。

—-想了解xxx_cast类型转换的实现方法分享!全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/481958.html

(0)
上一篇 2020年11月9日
下一篇 2020年11月9日

精彩推荐