Можно ли без извращений добыть фактический адрес виртуальной функции?
От: Евгений Музыченко Франция https://software.muzychenko.net/ru
Дата: 13.10.19 17:12
Оценка:
Хочется в MSVC++ по выражению для вызова виртуальной функции (например, Obj->Func) получить ее фактический адрес, лежащий в vtable, на который при вызове выполняется call. Сравнительно честные методы получения адреса члена в C++ предполагают уточнение имени функции именем класса, что предполагает обращение к статической vtable, созданной для класса (у конкретного объекта она может быть подменена). А если лезть руками в vtable, то нужно знать порядковый номер функции. Без этих извращений никак?
vtable адрес виртуальная функция метод
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.