Я знаю, как работают виртуальные функции и динамический полиморфизм. Я знаю, что компилятор добавит v-ptr в базовый класс, который будет унаследован последующими производными классами. Кроме того, компилятор создаст v-таблицы для каждого класса и сохранит указатели функций большинства производных версий виртуальных функций по отношению к каждому из классов.
Теперь мой вопрос: где хранится эта v-таблица? Это в сегменте кода? Откуда выделяется память для этих таблиц. Поделитесь внутренней информацией.
Я также знаю, что реализация может варьироваться от одного компилятора к другому. Но в своем ответе можно упомянуть один конкретный компилятор и реализацию, специфичную для этого компилятора.