(5.2.9 / 10) Значение r типа «указатель на cv1 void» может быть преобразовано в значение типа «указатель на cv2 T», где T - тип объекта, а cv2 - это тот же cv-квалификация как или более высокая квалификация, чем cv1.Значение указателя типа на объект, преобразованное в «указатель на cv void» и обратно в оригинальный тип указателя , будет иметь свое первоначальное значение.
Так как результат приведения изvoid*
имеет значение int*
(исходный тип указателя), так что делает следующее приведение в действие действительным?
int i = 10;
double *pd_2 = static_cast<double*>(static_cast<void*>(&i));