以下旧式转换的命名转换等效项是什么?
const string *ps;
void *pv;
pv = (void*)ps; // <--- this
是pv = static_cast<void*>(const_cast<string*>(ps));
吗?
最佳答案
pv = const_cast<string *>(ps);
足够好 - void *
可以 任何(非限定)数据(对象)指针类型隐式分配。
(当然,出于同样的原因,直接赋值给 const void *
而不进行任何转换 是可行的。)
关于C++ 什么是命名转换等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17858705/