zoukankan      html  css  js  c++  java
  • C++四种类型转化

    2018-08-02 (星期四)
    C++类型转换:
    static_cast提供编译时期静态类型检测:
        static_cast <type-id> (expression)
        1)完成基础数据类型
        2)同一个继承体系中类型的转化
        3)任意类型与空指针类型void*之间的转化
        4)在执行转化必要的检测(指针越界,类型检查),其操作数相对是安全的.
            
    dynamic_cast提供运行时检测,使用多态的场景,增加了一层对真实调用对象类型的检测:
        1)用于继承体系中进行安全的向下转换downcast
        2)dynamic_cast是四个类型转化中唯一的RTTI操作符,提供运行时类型检查.
        3)dynamic_cast不是强制类型转化,而是带有某种"咨询"性质的,如果不能转化,返回NULL
        4)源类中必须要有虚函数,保证多态,才能使用.
        
    reinterpret_cast:
        仅仅是复制ni的比特位到d_r,没有进行必要的分析,reinterpret_cast是为了映射到一个完全不同类型的意思,这个关键词在我们需要把类型映射回元类型时用到它.他是所有转化中最危险的.

    const_cast
    去掉const常量属性,使其可以修改.

  • 相关阅读:
    linux下文本处理
    JSON对象的序列化和反序列化
    大整数相加的js实现
    前端日志格式化
    对象deepcopy
    基于vue实现的小程序管理后台图文编辑器
    原型和原型链
    函数声明、函数表达式及函数立即执行
    网址
    判断日期是否相等
  • 原文地址:https://www.cnblogs.com/wuwangchuxin0924/p/9404801.html
Copyright © 2011-2022 走看看