Как в памяти хранятся описания классов?

Про то, как хранятся объекты в памяти я понимаю, а вот как хранится описание классов? И хранится ли оно вообще? Если да, то каком виде? (Ответ в виде нулей и единичек, как вы понимаете не устроит:)) Если можете - посоветуйте какую-нибудь книжку или видеоуроки по теме.
P.S. Если это будет корректно, объясните на примере этих двух классов:
class A{
    int *n;
    int* GetN() { return n; }
};

class B : public A {
    char *ch;
    char* GetCh() { return ch; }
};
  • Вопрос задан
  • 2573 просмотра
Решения вопроса 1
gbg
@gbg Куратор тега C++
Любые ответы на любые вопросы
Классы в C++ существуют до момента комиляции программы.

В откомпилированной программе от класса может остаться разве что таблица виртуальных функций, и то не факт, что компилятор не выбросит виртуальные вызовы, заменив их на реальные.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@vilgeforce
Раздолбай и программист
Компилируете свою программу, грузите в IDA отладочную версию и смотрите. Как верно заметили выше, разные компиляторы могут по разному добавлять эту информацию.
Ответ написан
Комментировать
Olej
@Olej
инженер, программист, преподаватель
а вот как хранится описание классов? И хранится ли оно вообще?

Никак.
Не хранятся... как, впрочем, в подавляющем большинстве компилируемых языков.

В вашем примере объекты класса A буду просто имплементированы (встроены) во все объекты класса B.
Если вас это утешит, то можно добавить, что встроенные объекты класса A будут размещены в начале объектов класса B ... но это знание не сильно много добавляет.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы