Что такое VPTR?
Товарищи читая разную докумнецию я натыкнулся на такое понятие как VPTR. Кто то может в кратце обьяснить что это такое и с чем его едят? Было бы лучше что бы скинули ссылку где про это можно почитать!
ptr - так обычно всегда указатели обзывают, а вот дословная расшифровка:
vptr -the pointer to the class's table of virtual functions' addresses
Может я забыл сказать что когда я начал изучать что такое COM с введения в интерфейс-ориентированого програмирования и наталкнулся на такие понятия как VPTR и VTBL.
Тоесть я так понимаю это все связано с интерфейсами, класами с чисто виртуальными функциями, и т.д.
Точнее говоря, vptr, по всей видимости, означает конкретный вход таблицы, т. е. указатель на некую виртуальную функцию, а vtbl - собственно, таблица виртуальных функций.
К примеру, при отладке в MSVC эту таблицу можно просмотреть, она видна под именем `__vftbl' или что-то вроде того (имя содержит кавычки). Естественно, программно эта таблица недоступна.
Имеются и другие таблицы, связанные с "виртуальностью" и наследованием - таблица виртуальных баз и vtordisp.
Речь идет не только о "чисто виртуальных" функциях. Обо всех виртуальных.