Вопросы по теме 'vptr'

От производного класса memcpy к базовому классу, почему до сих пор вызывается функция базового класса
Я читаю Изнутри объектной модели C ++ . В разделе 1.3 Итак, почему это так, учитывая Bear b; ZooAnimal za = b; // ZooAnimal::rotate() invoked za.rotate(); вызываемый экземпляр rotate () является экземпляром ZooAnimal, а не...
611 просмотров

Альтернативные виртуальные функции вызывают реализации?
C++ поддерживает динамическую привязку через виртуальный механизм. Но насколько я понимаю, виртуальный механизм — это деталь реализации компилятора, а стандарт просто определяет поведение того, что должно происходить в определенных сценариях....
5445 просмотров
schedule 12.01.2023

Альтернативные схемы реализации vptr?
Этот вопрос касается не самого языка C++ (т.е. не стандарта), а того, как вызвать компилятор для реализации альтернативных схем для виртуальной функции. Общая схема реализации виртуальных функций заключается в использовании указателя на таблицу...
861 просмотров

Наличие ВПТР в подобъектах
У меня есть класс base с виртуальным деструктором и, следовательно, VTable и соответствующий VTPR в нем, а также класс, производный от него: class base { public: virtual ~base() {} }; class der : base {}; main() { int a = sizeof(base);...
718 просмотров
schedule 26.10.2022

Должен ли размер vptr на 64-битных машинах **должен** быть 64-битным?
Мне любопытно, почему размер vptr, кажется, занимает 64 бита на 64-битных машинах и действительно ли С++ требует этого. Все, что нужно сделать vptr, — это указать на vtables, а поскольку vtables не могут занимать слишком много памяти и могут быть...
565 просмотров
schedule 29.07.2023

Виртуальная таблица и нарезка объектов
При нарезке объектов, когда объект производного класса копируется в объект базового класса, копируется ли _vptr производного класса в _vptr базового класса, как и другие члены базового класса? Если нет, то почему? class Base{ public : virtual...
176 просмотров
schedule 09.01.2023