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

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

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

15 ответов

21 просмотр

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

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;} пока понятно?

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Гайс, вопрос для разносторонее развитых: читаю стрим с юарта, нада выделять с него фреймы с определенной структурой, если ли чо готовое, или долбаться с ринг буффером? нада у...
Vitaly
9
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
длина пакета фиксированная, или меняется?
Okhsunrog
7
Карта сайта