Из стандарта С++:
5.2.10.3
Отображение, выполняемое reinterpret_cast, может или не может быть выполнено представление, отличное от исходного значения.
Меня обучили на этом сайте, чтобы поверить и повторить это. (Даже если это возможно просто мелочи). A reinterpret_cast
от float*
до int*
разрешено создавать другой битовый шаблон. Единственная гарантия заключается в том, что reinterpret_cast
-издание, возвращаемое к float*
, приведет к созданию исходного битового рисунка.
Мой вопрос: Это когда-нибудь случается? Существует ли существующая реальная платформа или процессор или компилятор, который на самом деле reinterpret_cast
для другого битового шаблона? Если нет, существуют ли ситуации реального мира, где reinterpret_cast
имеет какие-либо служебные данные во время выполнения?
Во всем моем опыте с reinterpret_cast
, приведение было директивой для компилятора, а не для среды выполнения.