Показаны сообщения с ярлыком размер. Показать все сообщения
Показаны сообщения с ярлыком размер. Показать все сообщения

четверг, 24 марта 2011 г.

51. Влияет ли наличие целочисленных констант-полей на размер класса?

Конечно, ведь каждый объект будет хранить свою константу. Но если константа static, то она будет храниться в одном экземпляре для всех объектов класса, и не повлияет на размер объекта.

суббота, 23 октября 2010 г.

Размер объекта (класса). Что на него влияет.

Раз уж начались вопросы о размере объекта, то перечислим все факторы, влияющие на размер.
  1. Нестатические члены
  2. Выравнивание
  3. Наличие виртуальных методов (+размер указателя на таблицу виртуальных методов)
  4. Количество виртуально пронаследованных классов в иерархии наследования (+размер указателя на таблицу виртуальных методов каждого такого класса)
Вот и все.

25. Одинаков ли размер класса и аналогичной структуры?

Да. У структуры всего одно отличие: доступ к членам по умолчанию открыт (public)

см. также:
6. Является ли структура классом? Чем класс отличается от структуры?
10. Для чего используются ключевые слова public и private?

четверг, 21 октября 2010 г.

23. Каков размер «пустого» объекта?

class A{
}
В теории не меньше одного байта. На практике ровно один байт. Не ноль потому, что, согласно спецификации, каждый объект должен иметь свой адрес. Объекты с нулевым размером запросто могли иметь один и тот же адрес.