![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Гость_TheGuest_* |
![]()
Сообщение
#1
|
Гости ![]() |
Доброго времени суток. У меня вопрос.
К примеру есть структура.
А теперь вопрос. Почему у структуры a и у a.x один и тот же адрес??? Ситуация с b и b.x такая же, почему так ?? Это как в одномерных массивах получается ? Спасибо. |
|
|
![]() |
lanz |
![]()
Сообщение
#2
|
![]() Старейший участник ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: ![]() ![]() ![]() |
Не ругайтесь
![]() Только два соображения еще: 1. В самих экземплярах классов vtable не хранится, хранится только указатель. 2. При множественном наследовании может быть несколько указателей внутри класса, при этом компилятор нигде не хранит смещение, а просто генерирует код с соответствующим смещением. Об этом кстати написано в той же статье https://ru.wikipedia.org/wiki/Таблица_вирту....BD.D0.B8.D0.B5 Интересным следствием является то что в следующем коде
b1 != b2 |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 23.7.2025, 7:01 |