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

Ребята, есть у кого-то рефы на статьи, записки о проблемах

реализации virtual template methods?

15 ответов

24 просмотра

Да какие заметки, из определения virtual и template это явно следует. template, грубо говоря, позволяет инстанцировать дополнительные методы из разных единиц трансляции, а virtual требует знания интерфейса в момент компиляции любого отдельно взятого TU. Если взять самую популярную реализацию виртуальных функций (vtable), то на её примере - табличка должна быть сформирована однозначным образом.

Alexander Karaev
Да какие заметки, из определения virtual и templat...

А какие ещё бывают реализации для virtual?

Alex Sandrov
А какие ещё бывают реализации для virtual?

ну как в питоне например через хэш таблицу

Stas Koynov
ну как в питоне например через хэш таблицу

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

Vitalii- Автор вопроса
Alexander Karaev
Да какие заметки, из определения virtual и templat...

Разве механизм который позволит реализовать подобное нельзя сделать? Возможно же сгенерить доп. методы в vtable, а потом просто делать выборку?

Vitalii
Разве механизм который позволит реализовать подобн...

Как сгенерить доп. методы в vtable, если компиляция двух разных TU независима?

Vitalii
Разве механизм который позволит реализовать подобн...

По дизайну темплейтов нельзя. Это компайл-тайм конструкт, компилятору надо знать все инстанцирования чтоб сгенерить код. Сколько доп методов сгенерить? Во внешней библиотеке ктото унаследовался от твоего класса и оверрайднул метод. Как ты сгенеришь базовый метод для этого типа? У тебя там больше кода нет

Vitalii- Автор вопроса
Alexander Karaev
Как сгенерить доп. методы в vtable, если компиляци...

Перегрузка же работает. Если я что-то не так понимаю, отправьте пожалуйста какие-то рефы на инфу, изучить хочу.

Vitalii
Перегрузка же работает. Если я что-то не так поним...

перегрузка - это раннее связывание, а не позднее

Vitalii
Перегрузка же работает. Если я что-то не так поним...

Перегрузка это физически существующий код, а шаблон это считай макрос, пока метод не вызовут (передав шаблонные параметры), кода не будет.

Vitalii
Разве механизм который позволит реализовать подобн...

Ты сначала попробуй сделать, чтобы не надо было подключать определение шаблонных методов

Ioann_ 🍒
а vtable не хеш разве?

Скорее всего просто функции по номерам

Ioann_ 🍒
а vtable не хеш разве?

это просто массив функций. в питоне это словарь название-функция.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта