Я читал в этой теме о правилах наложения указателей, и один ответ дает следующий пример, в котором упоминается потенциальная проблема с порядком байтов, я хотел бы знать, может ли кто-нибудь дать мне что проблема порядка следования в следующем коде?
struct Msg
{
unsigned int a;
unsigned int b;
};
int main()
{
// Pass data to something; if the implementer of this API were
// strict-aliasing-aware, he would have taken a char*, not a unsigned int*
Msg* msg = new Msg();
msg->a = 1;
msg->b = 2;
// stupidBuffer is an alias for msg.
// yes I know there are endianess problems here (WHY??), but my API is stupid and
// only works for one platform
unsigned int* stupidBuffer = reinterpret_cast<unsigned int*>(msg);
SendToStupidApi( stupidBuffer );
}