• 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(动态转换)

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

  • 相关阅读:
    Java 时区转换(UTC+8 到 UTC 等等)
    spring 与 springmvc 的区别和定义
    字符串加密解密(Base64)
    上传视频本地预览问题
    vue 监听store中的数值
    判断对象是否为空
    正则 验证是否包含特殊字符
    js 过滤日期格式
    vue methods computed watch区别
    for + setTimeout
  • 原文地址:https://www.cnblogs.com/qingjiaowoxiaoxioashou/p/5733369.html
Copyright © 2020-2023  润新知