float y;
float z;
float _pad;
};
Есть ли гарантия, что x, y, z будут располагаться так же, как если бы они были в массиве float[3] ?
нет
Нет - это UB. Так как мы не гарантируем, что они будут в таком порядке. Меня тогда по этому поводу заругали =)
В смысле? Компилятор может их перемешать и сделать не x,y,z, а z,x,y например?
https://en.cppreference.com/w/cpp/language/data_members#Standard_layout Тут пишут что у PODов такого вроде как нет
Я написал же "Вроде как", но спасибо за информацию, буду знать тогда
как вы сформировали такую ссылку на конкретный раздел cppref'a?
Через решётку, сам дописал
Ну кажется это не правда В С++ вроде как компилятор не перемещает поля
Порядок гарантирован паддинги -нет
Есть некоторая разница между не перемещает и не может перемещать
Bump
Ответили же
Обсуждают сегодня