Russian Qt Forum
Ноябрь 22, 2024, 23:11 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Что такое VPTR?  (Прочитано 7144 раз)
Vitaly_
Гость
« : Июль 19, 2007, 12:17 »

Товарищи читая разную докумнецию я натыкнулся на такое понятие как VPTR. Кто то может в кратце обьяснить что это такое и с чем его едят? Было бы лучше что бы скинули ссылку где про это можно почитать!
Записан
sandy
Гость
« Ответ #1 : Июль 20, 2007, 09:07 »

vptr (virtual function pointer - указатель виртуальных функций); он автоматически инициализируется конструктором для указания на таблицу vtbl класса. Когда клиент вызывает виртуальную функцию, транслятор генерирует код, чтобы разыменовать указатель vptr, занести его в vtbl и вызвать функцию через ее указатель, найденный в назначенном месте. Так на C++ обеспечивается полиморфизм и диспетчеризация динамических вызовов
Записан
Vitaly_
Гость
« Ответ #2 : Июль 20, 2007, 13:22 »

Было бы лучше что бы скинули ссылку где про это можно почитать!
Записан
joktar
Гость
« Ответ #3 : Июль 22, 2007, 13:00 »

Бьярн Страуструп. Дизайн и эволюция языка C++, начиная со страницы 85(раздел 3.5.1 Модель размещения объекта в памяти) и страницы 270 (раздел 12.4, Модель размещения объекта в памяти, тут про случай с множественным наследованим)

p.s.URL дать не могу-она у меня в печатном виде.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.124 секунд. Запросов: 20.