Везде ли alignment requirements являются степенями 2?
От: folk Россия  
Дата: 20.06.04 22:30
Оценка:
Пошарился в Стандарте насчет требований в выравниванию. Получилось, что если требования к выравниванию любых простых типов не будут степенями одного и того же числа (например двойки — 1, 2, 4, 8, 16), то реализация будет неэффективна в плане использования памяти.
Например, если возможны типы с выравниванием 4 и 6, то при выделении блока памяти размером 6 с помощью new (или malloc), этот блок памяти должен быть выровнен на 12. И объединение, содержащее подобъекты этих типов тоже будет иметь размер 12.

Собственно вопрос такой. Переносимо ли на практике предположение, что alignment requirements любых типов являются степенями двойки? Слышал ли кто-нибудь о платформах, где это не так?
На самом деле, люди не читают газеты, они принимают их каждое утро, так же как ванну. ©Маршалл Мак-Льюэн
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.