Вопросы по теме 'dynamic-dispatch'

Является ли шаблон посетителя самым быстрым способом различения типов параметров в C++?
Является ли шаблон посетителя самым быстрым способом выполнить идентификацию типа параметра метода (фактически одиночная отправка параметра, а не класса члена) в С++? Я мог бы знать точные методы, которые я хочу вызвать для элементов еще не...
656 просмотров
schedule 12.08.2022

Динамическая отправка в C с использованием таблицы виртуальных методов
Я надеюсь найти подсказку (желательно на хорошем примере) для реализации динамической диспетчеризации в C. Я изучаю C и на практике хочу перевести с Java на C, используя таблицу виртуальных методов динамической отправки. например, у меня есть...
1401 просмотров
schedule 15.12.2022

Как получить количество возможных целей на месте вызова?
В Java большинство методов являются виртуальными. В месте вызова могут быть вызваны различные фактические методы в зависимости от объектов. Это динамическая рассылка. Вопрос . Можем ли мы получить количество целей для сайта вызова статически?...
177 просмотров

Методы динамической отправки
Обсуждение Я знаю, что все известные мне реализации (например, компиляторы C++) реализуют динамическую диспетчеризацию с помощью виртуальных таблиц диспетчеризации и указателей виртуальных таблиц (т. е. известных vtable и vptr )....
1546 просмотров
schedule 27.12.2023

Динамическая диспетчеризация Scala с параметризованной функцией
Как можно заставить этот код работать? Насколько я знаю, в Scala нет динамической диспетчеризации (аналогично Java). Можно ли как-то смоделировать динамическую диспетчеризацию? Или какое лучшее решение? object Tezt { case class...
1199 просмотров

Как получить статически связанный класс в Java?
Сказать class E extends B {} class B extends A {} У нас есть, B v = new E(); process(v); Мы знаем, что это правда, v.getClass() == E.class Есть ли способ программно определить статическую привязку для v точно B?...
54 просмотров

Является ли хрупкий базовый класс единственной причиной, по которой наследование нарушает инкапсуляцию?
Как заявляет "Банда четырех" в " шаблонах проектирования ": " часто говорят, что 'наследование нарушает инкапсуляцию' " , перефразируя Снайдера в «Инкапсуляции и наследовании в объектно-ориентированных языках программирования». Однако каждый...
849 просмотров

Накладные расходы, обеспечивающие реализацию функции-члена
У меня есть класс Base и класс Derived . Единственная цель класса Base — убедиться, что Derived реализует функцию-член. struct Base { virtual void f() = 0; }; struct Derived : Base { void f() override final {} }; Я не...
66 просмотров

Полиморфные переменные-члены — дизайн класса
Хотите знать, может ли кто-нибудь помочь определить более элегантный подход к дизайну - или, возможно, определить недостатки следующего дизайна. В настоящее время у меня есть абстрактный класс Response , производный от сериализуемого JSON Object ....
71 просмотров
schedule 21.03.2022

В чем разница между & dyn Trait и Box ‹dyn Trait› для динамической отправки?
Функции new_foo1 и new_foo2 возвращают одну и ту же черту Foo с использованием разных шаблонов. Я не вижу между ними какой-либо функциональной разницы, кроме того, что new_foo1 они более подробны. Есть ли среди этих двух предпочтительный...
743 просмотров
schedule 14.04.2023

Почему indexingIterator.next() использует динамическую отправку?
Почему for-in медленнее, чем while в режиме быстрой отладки? Я написал это. Спасибо тем, кто отвечает мне, я мог бы выучить Seqeunce и IteratorProtocol . Поэтому я реализовал пользовательский тип ( School ниже кода), который соответствовал...
70 просмотров