Столкнулся с такой ситуацией: Нужно в 3rd party функцию передать указатель на массив unsigned char, при этом на руках только указатель на массив struct X{unsigned char a;}. reinterpret_cast использовать нельзя, т.к. анализатор кричит матом. https://habr.com/ru/company/otus/blog/443602/ эта статья предлагает через std::memcpy сделать type punning. Вопрос - если через std::memcpy скопировать содержимое указателя на массив структур (адрес) в указатель на unsigned char, и передать его в 3rd party функцию, будет ли нарушено strict aliasing rule и как следствие возможное UB? Либо нужно полностью копировать через memcpy массив структур в массив unsigned char и только потом передавать указатль на временный массив в 3rd party функцию?