ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1000438 Топик полностью
fk0, легенда (30.04.2020 18:18, просмотров: 271) ответил VLLV на Показываю. Последнее поле в структуре 1 байт, расположен со смещением 5170-49d0 = 7a0 = 1952. Какой должен быть размер структуры? 1956, логично? А вот ни хрена, 1960.
Размер структуры растягивается до значения его alignas которое определяется всеми полями в совокупности. Это нужно, чтоб можно было адресовать массивы структур как v[i] = (char*)v + i*sizeof(struct). Если бы у тебя sizeof() давал честный размер, то как бы ты работал с массивами? 

Демонстрация эффекта зависимости alignas от типов элементов структуры:

http://coliru.stacked-crooked.com/a/5f35fab3a12829df

[ZX]