![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
daorus |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 20 Регистрация: 30.10.2010 Пользователь №: 2163 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Захотелось мне любопытному
![]()
|
|
|
![]() |
Алексей1153 |
![]()
Сообщение
#2
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2943 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
daorus, пустой класс имеет размер 1 байт. Это какие-то заморочки, необходимые компилятору (детали не знаю)
когда класс не пустой (к примеру, произведён от QObject) , то его (класса) размер становится равен размеру QObject (а единичка "пустоты" уже не учитывается)
Если класс сам что-то ещё содержит, то это также учтётся в размере
должен быть - но не обязательно равен, так как происходит ещё выравнивание (на 4 байта, если явно не задано другое) размер также будет одинаков для таких вариантов:
// #4. неужели сделать потомком QObject'a какой-то класс стоит всего 8 байт? // при его навороченной-то функциональности, когда он даже имена типов хранит? указатель, например, всего 4 байта занимает ![]() в исходниках нашёл нестатический мембер QObject такой QScopedPointer<QObjectData> d_ptr; Сообщение отредактировал Алексей1153 - 4.11.2010, 14:47 |
|
|
BRE |
![]()
Сообщение
#3
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 3.6.2025, 23:08 |