【发布时间】:2011-12-11 18:42:33
【问题描述】:
(5.2.9/10) 类型“指向 cv1 void”的右值可以转换为类型“指向 cv2 T”的右值,其中 T 是对象类型,而 cv2 与 cv 限定相同或大于 cv 限定, 简历1。指向对象的类型指针值转换为“指向 cv 的指针” void",回到原来的指针类型就会有它原来的 价值。
既然从void* 转换的结果是int*(原始指针类型)那么,是什么使以下转换有效?
int i = 10;
double *pd_2 = static_cast<double*>(static_cast<void*>(&i));
【问题讨论】:
-
那个演员没有定义明确。
-
我认为来自
void*的转换是实现定义的 -
不,但这对我来说似乎是未定义的行为。
标签: c++ static-cast