Читать книгу Ссылки и указатели в C++: от основ к безопасности и современному коду - - Страница 113
Задача 18: Выравнивание over-aligned
ОглавлениеВы должны написать программу, в которой объявляется структура с выравниванием, превышающим естественное выравнивание её полей. Используйте спецификатор выравнивания alignas, чтобы гарантировать, что размер выравнивания структуры будет равен заданному значению – в данном случае 32 байтам. В функции main выведите значение, возвращаемое оператором alignof для этой структуры, чтобы убедиться, что компилятор действительно применяет указанное выравнивание.
Подсказка: стандартный тип int обычно имеет выравнивание 4 байта, но это не мешает вам явно запросить более строгое выравнивание для содержащей его структуры. Оператор alignof возвращает требуемое выравнивание типа в байтах, и его результат можно напрямую вывести с помощью std::cout. Убедитесь, что вы подключили заголовок <iostream> для работы с выводом.