关于reinterppret_cast和强制类型转换

来源:9-10 static_cast和dynamic_cast的使用

tobeabee

2022-03-07

class User2 :public Observer {
public:
virtual void Update(void* pArg) {
cout << “User2 Got News:” << reinterpret_cast<char*>(pArg) << endl;
}
};
老师,在这一段代码里面我们原本是直接使用(char*)的强制类型转换,这两种方法之间有什么区别呢?是不是即便reinterppret_cast很不安全,但它至少“要求转换前后的类型所占用内存大小一致”,而强制类型转换就彻底不做任何检查了?

写回答

1回答

quickzhao

2022-03-07

在指针的转换上, reinterpret_cast等价与C语言的强制类型转换;所以这种转换使用时一定要小心谨慎。

0
0

重学C++ ,重构你的C++知识体系

一部大片,一段历史,构建C++知识框架的同时重塑你的编程思维

3884 学习 · 1103 问题

查看课程