Вопросы по теме 'crtp'
Может ли универсальный класс Delphi происходить от своего аргумента класса?
Я пытался определить общий наследуемый класс TSingleton. Вот что у меня было в процессе:
TSingleton<RealClass, InheritsFrom : class> = class(InheritsFrom)
strict private
class var FInstance : RealClass;
protected
procedure...
732 просмотров
schedule
24.09.2021
CRTP, чтобы избежать накладных расходов на виртуальные функции-члены
В CRTP для предотвращения динамического полиморфизма предлагается следующее решение, позволяющее избежать накладных расходов. виртуальных функций-членов и наложить определенный интерфейс:
template <class Derived>
struct base {
void...
4096 просмотров
schedule
01.11.2021
CRTP по сравнению с прямой реализацией функции в производной
Я пытаюсь лучше понять CRTP. Пока я понимаю, что он позволяет писать такие функции, как следующие.
template <class T>
void foo(Base<T> x ) { x.do_stuff() }
Теперь, в зависимости от фактического производного объекта времени...
719 просмотров
schedule
22.11.2021
c ++ Typelist производного класса
Используя CRTP (любопытно повторяющийся шаблон шаблона), вы можете предоставить базовому классу сведения о классах, производных от него. Не так сложно создать массив, в котором хранится экземпляр каждого класса, производного от базового класса (см....
1417 просмотров
schedule
25.09.2021
CRTP: включить методы в базовом классе на основе содержимого производного класса
Есть ли способ запросить содержимое производного класса из базового класса CRTP, чтобы использовать его с SFINAE для включения или отключения методов базового класса?
То, что я пытаюсь выполнить, может выглядеть следующим образом:...
380 просмотров
schedule
29.11.2021
Смущает что-то похожее на необычно рекурсивный шаблон шаблона
У меня есть приложение, состоящее из нескольких «уровней» элементов. Некоторые элементы являются родительскими для 0..N дочерних элементов, а сами являются родительскими для 0..N других элементов. Тип верхнего уровня не имеет родителя, а элементы...
73 просмотров
schedule
08.10.2021
CRTP с интеллектуальными указателями
Я экспериментирую с концепцией CRTP и с тем, как ее можно использовать для аппроксимации миксинов в C ++.
Я разработал следующий код, чтобы проиллюстрировать эту идею, но столкнулся с проблемой, когда вектор shapeVec пытается удалить...
162 просмотров
schedule
09.10.2021
CRTP, чтобы избежать динамического полиморфизма
Как я могу использовать CRTP в C ++, чтобы избежать накладных расходов на виртуальные функции-члены?
27169 просмотров
schedule
28.02.2022
Статический полиморфизм с CRTP: использование базового класса для вызова производных методов
Одним из основных преимуществ virtual в C++ является возможность использовать базовый класс (указатель или ссылку) для вызова производных методов.
Я читаю об использовании CRTP для реализации статического полиморфизма , но не могу понять, как...
4378 просмотров
schedule
24.03.2022
Как принудительно использовать любопытно повторяющийся шаблон шаблона в C ++
У меня есть следующий базовый класс шаблона.
template<typename T>
class Base {
public:
void do_something() {
}
};
Он предназначен для использования в качестве любопытно повторяющегося шаблона шаблона . Он должен быть...
710 просмотров
schedule
16.04.2022
CRTP вызывает дочернее виртуальное переопределение в базовом конструкторе
В следующем примере возникает эта ошибка времени выполнения:
pure virtual method called
terminate called without an active exception
например
template<class DERIVED>
struct Base {
int val;
Base(int i) :...
142 просмотров
schedule
16.04.2022
Как объявить член в базовом классе шаблона, где тип зависит от производного класса?
Учитывая базовый класс, использующий CRTP, я рассматриваю объявление члена в базовом классе шаблона, где тип зависит от производного класса.
В то время как следующее работает по назначению:
template <class T> class BaseTraits;
template...
859 просмотров
schedule
27.04.2022
Производный класс CRTP с параметром шаблона шаблона
Я разрабатываю API, который имеет следующую структуру, и мне нужен практический совет по проектированию в области параметров шаблона-шаблона CRTP. Я относительно новичок в шаблонах на C++, так что смиритесь с моей неопытностью....
75 просмотров
schedule
08.05.2022
Класс, производный от CRTP, по-видимому, не знает унаследованного типа
У меня есть структура CRTPBase , служащая базовым классом для любопытно повторяющегося шаблона шаблона. Его единственное использование - предоставить производный тип:
template<typename Derived>
struct CRTPBase {
using asdf = Derived;...
302 просмотров
schedule
16.05.2022
Предотвратить получение пользователем неправильной базы CRTP
Я не могу придумать правильный заголовок вопроса для описания проблемы. Надеюсь, приведенные ниже детали ясно объяснят мою проблему.
Рассмотрим следующий код
#include <iostream>
template <typename Derived>
class Base
{
public...
2356 просмотров
schedule
31.05.2022
Преобразование между подклассами с использованием Curiously Recursive Template Pattern
Дано:
класс шаблона Base с аргументом typename value_type ,
его шаблон Curiulous Recursive Template Pattern "подклассы" DerivedFoo и DerivedBar , и
шаблон "подкласс" DerivedBarCode и DerivedBarDoge , производные от DerivedBar ,...
212 просмотров
schedule
06.06.2022
CRTP — Как вызвать реализацию базового класса метода из производного класса?
В настоящее время я возился с шаблоном CRTP, используя шаблоны С++. Возясь с Visual Studio, я нашел несколько способов/методов, в которых производный класс может вызывать реализацию функции базового класса. Ниже приведен код, который я использую, а...
917 просмотров
schedule
06.06.2022
Шаблон и интерфейсы CRTP C++
Я новичок в шаблонах С++ и наткнулся на следующее определение:
В общем, CRTP полезен для исключения реализаций интерфейсов, которые могут быть только функциями-членами (например, конструкторами, деструкторами и операторами индексов).
И я изо...
84 просмотров
schedule
10.06.2022
Проблемы компиляции с идиомой CRTP на основе интеллектуальных указателей
Я пытаюсь скомпилировать минимальный рабочий пример для примера CRTP, приведенного в эта запись в блоге , основанная на интеллектуальных указателях.
На основе примера кода я написал два файла: заголовок и исходный код.
Заголовок ( crtp.h ):...
288 просмотров
schedule
28.06.2022
CRTP и метод, возвращающий void *
Я использую C++ 11. У меня есть класс Base и несколько производных классов для построчного анализа различных файлов конфигурации.
template <class T>
class Base
{
public:
virtual ~Base();
bool load_from_file(const QString&...
62 просмотров
schedule
26.07.2022