170 похожих чатов

Всем привет, у кого нибудь статья(или что нибудь другое) в

которой подробно и очень глубоко описывается работа ключевого слова virtual?

15 ответов

5 просмотров

В любом учебнике...

Abdul-C Автор вопроса
Ilya Zviagin
В любом учебнике...

я бы хотел на уровне ассемблера, в учебнике стивена пратта нет такой информации

Abdul C
я бы хотел на уровне ассемблера, в учебнике стивен...

Так это же зависит от компилятора, как оно будет работать

Abdul-C Автор вопроса
Abdul-C Автор вопроса
Юлиосити Чувствительная
Что, про vtable совсем ничего там?

есть, ну если честно я постоянно перечитываю и постоянно забываю, при том что как это работает на уровне практики знаю

Abdul C
я бы хотел на уровне ассемблера, в учебнике стивен...

в каждом экземпляре класса, имеющего виртуальные функции, есть скрытое поле vtable. оно указывает на некий дескриптор класса, сожержащий указатели на все виртуальные функции этого класса: struct vtable_class_X { f1_ptr = указатель на фукнцию X::virt_f1(); f2_ptr = указатель на фукнцию X::virt_f2(); ... } при вызове виртуальной функции f1 из экземпляра класса берётся поле vtable, из vtable_class_X берётся f1_ptr, и вызывается функция на которую этот f1_ptr указывает

Abdul-C Автор вопроса
Abdul C
есть, ну если честно я постоянно перечитываю и пос...

хотел подобрать алтерантивный источник

Abdul-C Автор вопроса
Bulat Ziganshin
в каждом экземпляре класса, имеющего виртуальные ф...

спасибо за пояснение, но я все равно не очень понял

Abdul C
спасибо за пояснение, но я все равно не очень поня...

ну вот есть классы A {int i; virtual void f1();} B : A {int k; virtual void f1() override;} в реальности в каждый из них добавялется скрытое поле vtable: A_ { void* vtable; int i;} B_ { void* vtable; int i; int k;} пока понятно?

Похожие вопросы

Обсуждают сегодня

я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
50
читать файл максимально быстро? странный вопрос))
zamtmn
53
How to create an OS in C? what to study?
Linus
18
Всем доброго вечера! Хочу поделиться своим злоключением с человеком, который, как оказалось сюда тоже скидывал свое резюме. Жаль, что я вашу группу не нашел раньше… человек ки...
Роман Ахмедзянов
4
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
Компания Elif ищет менеджера проектов, который будет заниматься поиском и ведением новых проектов. Прежде чем приступить к работе, вам нужно пройти наш недельный курс, где вы ...
Elif
5
Привет, кто может сделать юзербота с апи? Задачи: - создавать группы - создавать каналы - задавать для созданных каналов аватарку или эмоджи, имя группы - добавлять в группы...
Lencore
11
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
@HemulGM Параметры у AddStream поменялись? Несостыковка какая-то
Катерина Свиридова
12
Народ, с прошедшими и наступающими. Ща полную ересь прогоню, но фишка в том, что это не обычная алкогольная ересь Либера, а я реально хз что делать. Сайт с 2012-го года Косяк...
Alexey Liber
2
Карта сайта