Можно ли использовать sizeof
в макросе препроцессора?
Например, в течение многих лет, когда я хотел сделать что-то вроде:
#if sizeof(someThing) != PAGE_SIZE
#error Data structure doesn't match page size
#endif
Точная вещь, которую я проверяю здесь, полностью составлена - дело в том, что мне часто нравятся такие проверки времени (размер или выравнивание) для проверки времени компиляции, чтобы защитить кого-то, изменяющего структуру данных, которая могла бы неправильно или изменить размер вещей, которые могут сломать их.
Излишне говорить, что я не могу использовать sizeof
описанным выше способом.