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常量属性,使其可以修改.

  • 相关阅读:
    ASP.NET Repeater-重复器
    ADO.NET数据库访问技术
    类库和委托、 is 和as
    小知识
    多态
    封装和继承
    资源管理器
    简易计算器
    小知识点
    jquery cookie页面传值和jquery监听页面刷新
  • 原文地址:https://www.cnblogs.com/wuwangchuxin0924/p/9404801.html
Copyright © 2011-2022 走看看