Re[3]: Получить размер полей структуры в compile-time
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 13.11.24 09:43
Оценка:
Здравствуйте, A.J., Вы писали:

AJ>что в моем случае даст выписывание вручную — весь смысл задачи в том, чтобы проконтролировать полноту перечисления полей.


Вот и контролируйте вручную — копируете структуру, вставляете в нужное место, и руками преобразуете определение каждого поля в проверку смещения/размера, хоть через static_assert, хоть через assert. Если в будущем кто-то поменяет параметры структуры, соответствующие assert'ы сработают.

Да, это коряво, но извращаться с убогими средствами недо-интроспекции C++ — еще корявее.

AJ>На поддержку компиляторов кроме GCC можно забить. Даже на формальное UB можно закрыть глаза, если сейчас по факту это будет работать на GCC.


Предложенный способ будет работать всегда и везде.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.