C ++什么是命名的强制转换

时间:2013-07-25 12:57:51

标签: c++ casting

以下旧式演员的命名演员等值是什么?

const string *ps;
void *pv;

pv = (void*)ps; // <--- this

pv = static_cast<void*>(const_cast<string*>(ps));吗?

1 个答案:

答案 0 :(得分:7)

pv = const_cast<string *>(ps);

足够好 - void *可以隐式地从任意(非限定)数据(对象)指针类型中指定

(当然,出于同样的原因,直接分配到const void * 而不进行任何投射会有效。)