菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
176
0

static_cast

原创
05/13 14:22
阅读数 28940
static_cast:明确隐式转换
dynamic_cast:父子类转换,运行时类型识别RTTI,有额外的开销,一般在向下转换时才使用,必须要有虚函数
reinterpret_cast:显示强转,后果自负

int main()
{
    int n = 5;
    float f = 10.0f;
    
    f = n;//隐式转换
    
    f = static_cast<float>(n);
//static_cast    
    //低风险的转换
    //整形与浮点型
    //字符与整形
    //void*指针的转换
    //转换运算符的方式
    
    
    int kk;
    char* p;
    p = kk;
    
//reinterpret_cast    
    //高风险的转换
    //整形与指针类型转换
    //不同类型的指针
    //不同类型的引用
    int n;
    int*p = (int*)n;
    int*p = reinterpret_cast<int*>(n);
    //
    
    return 0;
}

 

发表评论

0/200
176 点赞
0 评论
收藏