1:普通的强类型转换
void* p = NULL;
int* pDst = (int*)p;
2:static_cast方式
void* p = NULL;
int* pDst = static_cast<int*>(p);
3:reinterpret_cast方式
void* p = NULL;
int* pDst = reinterpret_cast<int*>(p);
请问,
第1种和第2种的作用是相等的是吧?即,都会涉及到数据的改变,比如从基类强转到派生类。?
然后,只有第3种不会影响数据,而仅仅是以另一种类型访问?
我的理解对么? |