c++中的类型转换(4种转换方式)

小编学习网站:https://www.ctvol.com

在C中:

(类型) 强制类型转换

在c++中:

1.static_cast<类型>(变量)

在某一个方向上 可以做隐式类型转换

int *pi =new int(100);

void *pv=pi;

2.dynamic_cast<类型>(变量)

用在具有多态性的父子类之间

3.const_cast<类型>(变量)

专业去处 转换

volatile const int a =100;

告诉编译器该值不稳定,不优化,如果没有C++编译器将启动优化功能

将该函数内用到的a都替换成100;

4.对内存进行重新的解释,最接近强制转换

reinterpret_cast<类型>(变量);

最接近C强制类型转换

比如把一个指针变成整数,把一个整数翻译成地址

相关推荐
saltymilk13 小时前
C++ 模板参数推导问题小记(模板类的模板构造函数)
c++·模板元编程
感哥13 小时前
C++ lambda 匿名函数
c++
沐怡旸19 小时前
【底层机制】std::unique_ptr 解决的痛点?是什么?如何实现?怎么正确使用?
c++·面试
感哥19 小时前
C++ 内存管理
c++
博笙困了1 天前
AcWing学习——双指针算法
c++·算法
感哥1 天前
C++ 指针和引用
c++
感哥2 天前
C++ 多态
c++
沐怡旸2 天前
【底层机制】std::string 解决的痛点?是什么?怎么实现的?怎么正确用?
c++·面试
River4162 天前
Javer 学 c++(十三):引用篇
c++·后端
感哥2 天前
C++ std::set
c++