согласен, структура не всегда будет лежать как char в памяти, но в данном случае это ок. Так все же, если выбирать между указателям и указателем на полную копию, что больше подходит под strict aliasing rule?
Ты безопасно можешь адрес любого объекта приводить к указателю на char. Обратное неверно, безопасно можно приводить указатель на чар к указателю на обьект только если указатель получен из такого же указателя на обьект ранее. То есть со strict aliasing rule здесь все в порядке
Если ты хочешь написать код, который потом пройдёт хоть какую нибудь сертификацию, то единственный способ - создавать копию и поэлементнно конвертировать.