Вопросы по теме 'vptr'
От производного класса memcpy к базовому классу, почему до сих пор вызывается функция базового класса
Я читаю Изнутри объектной модели C ++ . В разделе 1.3
Итак, почему это так, учитывая
Bear b;
ZooAnimal za = b;
// ZooAnimal::rotate() invoked
za.rotate();
вызываемый экземпляр rotate () является экземпляром ZooAnimal, а не...
611 просмотров
schedule
09.09.2021
Альтернативные виртуальные функции вызывают реализации?
C++ поддерживает динамическую привязку через виртуальный механизм. Но насколько я понимаю, виртуальный механизм — это деталь реализации компилятора, а стандарт просто определяет поведение того, что должно происходить в определенных сценариях....
5445 просмотров
schedule
12.01.2023
Альтернативные схемы реализации vptr?
Этот вопрос касается не самого языка C++ (т.е. не стандарта), а того, как вызвать компилятор для реализации альтернативных схем для виртуальной функции.
Общая схема реализации виртуальных функций заключается в использовании указателя на таблицу...
861 просмотров
schedule
27.01.2023
Наличие ВПТР в подобъектах
У меня есть класс 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