关于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回答
-
在指针的转换上, reinterpret_cast等价与C语言的强制类型转换;所以这种转换使用时一定要小心谨慎。
00
相似问题