Я знаю, что реализация разрешения вызовов виртуальных функций не является частью стандартов C ++ и ничего не говорит о vptr или v-table, но позвольте мне задать этот вопрос здесь.
Я слышал, что v-таблица - это распространенный метод, используемый компиляторами для реализации разрешения вызовов виртуальных функций. Я понимаю, что для каждого класса и процесса требуется только виртуальная таблица.
Что мне интересно, так это когда v-таблица создается для класса?
Это когда класс заданного типа (которому нужна v-таблица) впервые создается в пространстве процесса?
Все другие впоследствии созданные объекты этого типа в этом пространстве процесса, ссылаются на уже созданную v-таблицу?
Когда эта таблица будет удалена?
Прошу прощения, если это слишком субъективный или дискуссионный вопрос, но эти вопросы задерживаются в моей голове на некоторое время, и я чувствую, что это нормально, задавая их здесь.