Re[10]: расмоложение мемберов класса в памяти
От: Кодт Россия  
Дата: 15.06.10 22:57
Оценка:
Здравствуйте, Seigram, Вы писали:

S>Я бы иначе написал это и думаю угодил бы запросу szag.

S>Собственно сообразить как компилятор и что размещает не сложно зная типы полей

В момент итерирования типы полей неизвестны. Поля представлены интерфейсом IORMField*, у которого есть GetSize().
По одному только размеру судить о выравнивании сложно: char[8], int[2] и double имеют одинаковый размер и разное выравнивание
Поэтому придётся добавить в интерфейс GetAlign().
Ну а дальше — в реализациях — операторы sizeof и __alignof (или его рукодельная замена, не суть).
Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.