ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
19 мая
1020627 Топик полностью
AlexBi (24.07.2020 13:50, просмотров: 653) ответил fk0 на А какой тип будут иметь по-твоему тогда члены структуры? Если в структуры положить структуры и их тоже сделать packed -- получится. А если в структуре уже лежит обычный int? Явно ж записано, что такое-то поле -- int и с ним могут что-то делать и нельзя неявно подменить тип -- работать перестанет (программист может начать где-то сравнивать типы, например). Сама идея упакованных структур -- не продуманная, в ней есть логические противоречия.
В данном случае члены структуры должны становиться packed. А как, по-твоему, работает (должно работать) volatile структура? Будут ее члены каждый раз перечитываться? Указатель на члена структуры будет volatile? 

Противоречий в упакованных структурах не больше чем в volatile или const. Там так же идет усиление требований, т.е. переход не const -> const проходит автоматически, а наоборот только всякими трюками. Поэтому, если что-то объявлено const, то попадая в структуру, в любом виде, оно остается const. А не const, попадая в структуру, может стать const. С packed аналогично, только рост уровня пакнутости.