Я помню, что пришел к выводу, что
- преобразует указатель на первый элемент POD-структуры в указатель на POD-структуру
- , преобразует указатель на один элементмассив в указатель на массив достаточно малого размера
хорошо определен.Но если первый вывод был довольно прямым (т. Е. В стандарте был раздел, говорящий об этом довольно простыми словами), то второй сделал несколько шагов (т. Е. Вам нужно было собрать несколько частей стандарта и сделать вывод), и я 'У нас нет времени, чтобы повторить поиск сейчас.Если никто не дает цитаты тем или иным образом, я постараюсь вернуться позже с некоторыми.
Редактировать: Я не нашел мои рассуждения назад.В настоящее время все, что я имею в виду, что в предположении, что reinterpret_cast
дает тот же результат, что и распад массива, обратное путешествие от «указателя к массиву» до «указателя на первый элемент» до «указателя на массив» гарантируется (согласно 5.2.10 / 7 в C ++ 98), поскольку требование выравнивания для массива не может быть менее строгим, чем требование выравнивания для элемента.