вопрос в том, можно ли использовать выравнивание как размер? не очень понял
выравнивание не очень зависит от количества объектов, а размер очень как зависит за некоторым исключением а если размер типа выходит за std::max_align_t, то шансы, что размер и выравнивание совпадут становятся еще меньше, потому что extended alignment это implementation defined
Бывают даблы по 4 байта выровненные в x86, например
размер является корректным выравниванием
берем объект 12 байт из подобъектов 4 и 8 байт с соответствующим выравниванием
> для базового типа
ну тут вопрос чуть криво поставлен, наверн для подобъекта а не типа
эту оговорку я вообще не понял
Хорошо, для фундаментального/встроенного типа. И на самом деле меня интересовали конкретно даблы
для этого подмножества выравнивание совпадает с размером, по-моему
окей, при условии, что у тебя не какая-нибудь экзотика, и те типы, для которых в стандарте указан лишь минимальный размер, имеют размер в виде степени двойки
https://godbolt.org/z/TezeoT
прикольно, что тут еще сказать
можно убрать m32 если сделать указатель на функцию-член
Обсуждают сегодня