CPP {类型强转,reinterpret_cast,static_cast}

CPP {类型强转,reinterpret_cast,static_cast}

@LOC_1

@LOC: 2

static_cast

性质

ST * s = new ST 此时static_cast<ST*>(s) != nullptr, 而如果你s = nullptr后 会发现static_cast<ST*>(s) == nullptr 这说明 他看的 不是ST *这个静态类型 而是看他的值;

@DELI;

static_cast<T>(a)(T)a方式, 并不是等价的; (比如@LINK: @LOC_0);

reinterpret_cast

定义

#用途1#
指针的强转, 从void*转换成T*;
.T*转换为void* 这是可以隐式强转的, 但反过来 给你一个void*(但前提是你知道 他本质上是T*), 他不可以直接强转到T*, 那么此时 这就可以T* = reinterpret_cast<T*>(void*);

#用途2#
指针的地址 转换为 整数类型;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值