struct, и ее адрес. |
Здравствуйте, гость ( Вход | Регистрация )
struct, и ее адрес. |
Гость_TheGuest_* |
9.7.2015, 21:49
Сообщение
#1
|
Гости |
Доброго времени суток. У меня вопрос.
К примеру есть структура.
А теперь вопрос. Почему у структуры a и у a.x один и тот же адрес??? Ситуация с b и b.x такая же, почему так ?? Это как в одномерных массивах получается ? Спасибо. |
|
|
lanz |
15.7.2015, 11:08
Сообщение
#2
|
Старейший участник Группа: Участник Сообщений: 690 Регистрация: 28.12.2012 Пользователь №: 3660 Спасибо сказали: 113 раз(а) Репутация: 8 |
Цитата Проверил в Qt Creator в отладке, адрес один и тот же. Вот этот показывает разные адреса: Раскрывающийся текст
Цитата И при присваивании aa к b1 или b2, в зависимости от типа присваивается vptr. Вообще это связанно не столько с vptr сколько с наследованием. Внутри объекта A содержится и B1 и B2. Естественно, что они не могут оба начинатся по адресу aa+0. Когда мы преобразуем указатель к B1( или B2) то мы получаем адрес объекта внутри A. Он может быть как со смещением относительно aa так и без. Но в любом случае эти адреса будут разными(при такой реализации наследования). |
|
|
Текстовая версия | Сейчас: 24.4.2024, 21:09 |