Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Дык sizeof учтет все "дырки". Потому как sizeof делается на... 18.11.05 11:59 Число просмотров: 1626
Автор: amirul <Serge> Статус: The Elderman
|
> > Кстати, a inst = {1,1} тоже вполне работает . Так вот, > не > > могу найти в стандарте С++ это дело. Где про это > > растолковано? Это и есть мой вопрос. > > В Ричи и Кернигане точно есть. У Страустрапа тоже должно > быть, порыться надо, но смысл?... > Подводные камни не в этом! > Явный акцент делается на массив структур. Упоминается, что > компилятор для оптимизации работ строк кэша может размещать > элементы массива структур с адреса кратного степени двойки, > а размер структуры может быть больше, > чем сумма размера ее элементов.
Дык sizeof учтет все "дырки". Потому как sizeof делается на всю структуру, а не суммируются sizeof-ы элементов. В ходе обсуждения мы когда то выяснили, что самых страшных подводных камней два: 1) Можно ничтоже сумняшися постирать уже проинициализированные данные базового класса (если такой финт выполняется в конструкторе дочернего класса) 2) Можно постирать неявные указатели (vtable, vbase), которые behind the scenes добавляет компилятор, если класс является полиморфным (содержит виртуальные функции).
|
|
|