14
ответов

Как вы правильно определяете статически унаследованный метод? [Дубликат]

Я пытаюсь реализовать цепочку наследования, в которой методы, объявленные в базовом типе, возвращают производный тип по значению. Например, у меня есть базовый класс Base с методом func (). На основе ...
вопрос задан: 24 February 2015 21:54
8
ответов

Своевременная деривация

Существует менее общая идиома C++, которую я использовал успешно несколько раз в прошлом. Я просто, может казаться, не помню, имеет ли это обычно используемое имя для описания этого. Это несколько связано с mixins...
вопрос задан: 17 December 2009 12:04
6
ответов

Я могу использовать Любопытно Повторяющийся Шаблонный Шаблон здесь (C++)?

У меня есть приложение C++, которое может быть упрощено до чего-то вроде этого: класс AbstractWidget {общественность: виртуальный ~AbstractWidget () {} виртуальное пустое нечто () {} виртуальная пустая панель () {}//(другой...
вопрос задан: 2 September 2015 13:42
6
ответов

Практическое использование шаблона & ldquo; Curiously Recurring Template Pattern & rdquo;

Какие практические применения для «шаблонов любопытных повторений»? Обычно показанный пример «подсчитанного класса» не является убедительным примером для меня.
вопрос задан: 2 September 2015 13:40
5
ответов

Любопытно повторяющийся шаблон шаблона: ошибка компиляции в gcc7, но ok в gcc6 [duplicate]

Я пишу небольшую матричную библиотеку, которая использует любопытный повторяющийся шаблон шаблона, и я столкнулся со следующей проблемой. Приходитесь к классам Base и Derived. Производный имеет параметр шаблона, который обозначает ...
вопрос задан: 1 June 2016 12:28
5
ответов

недопустимое использование неполного типа

Я пытаюсь использовать определение типа от подкласса в моем проекте, я изолировал свою проблему в примере ниже. Кто-либо знает, где я иду не так, как надо? шаблон <Подкласс имени типа> класс A {...
вопрос задан: 16 March 2009 21:20
4
ответа

Java Enum определение

Мне показалось, что я достаточно хорошо понимаю дженерики Java, но потом наткнулся на следующее в java.lang.Enum: класс Enum < E extends Enum < E > > Может кто-нибудь объяснить, как интерпретировать этот тип ...
вопрос задан: 30 August 2012 19:07
4
ответа

CRTP для предотвращения динамического полиморфизма

Как я могу использовать CRTP в C++ для предотвращения издержек виртуальных функций членства?
вопрос задан: 20 November 2011 13:45
3
ответа

Как записать любопытно повторяющиеся шаблоны больше чем с 2 слоями наследования?

Весь материал, который я считал на Любопытно Повторяющемся Шаблонном Шаблоне, кажется одному слою наследования, т.е. Основе и Полученный: <Полученная> Основа. Что, если я хочу взять его один шаг вперед? #include и...
вопрос задан: 23 May 2017 12:00
2
ответа

Оператор ++ из базы CRTP не виден для компилятора

В качестве примера возьмем следующий фрагмент кода: шаблон < class Derived > struct base {Производный оператор ++ (int) {auto tmp = static_cast < Derived & amp; > (* this); ++ static_cast & ...
вопрос задан: 17 March 2019 21:42
2
ответа

Создание круговых общих ссылок

Я пишу приложение, чтобы сделать некоторые распределенные вычисления в одноранговой сети. В определении сети я имею два, классифицируют P2PNetwork и P2PClient. Я хочу, чтобы они были универсальны и тем самым имели...
вопрос задан: 6 May 2011 17:02
2
ответа

Как частично специализировать шаблон класса для всех производных типов?

Я хочу частично специализировать существующий шаблон, который я не могу изменить (станд.:: tr1:: хеш) для базового класса и всех производных классов. Причина состоит в том, что я использую любопытно повторяющийся шаблон...
вопрос задан: 23 June 2009 14:39
1
ответ

Вызов метода перегруженного родителя из дочернего класса в C ++

Я пытаюсь понять, возможно ли вызвать родительский член функции из дочернего класса. В основном у меня есть следующий код: struct Parent {template < class ... Args > void doFoo (...
вопрос задан: 19 March 2019 14:47
1
ответ

C ++ зависимый тип в CRTP (регрессия MSVC2017 v15.7.2?) [Дубликат]

Это работает в MSVC2017 v15.6, но сбой в MSVC2017 v15.7.2: struct Foo {с использованием T = int; }; template & lt; class DERIVED, класс WRAP & gt; struct A {с использованием T = typename WRAP :: T; }; шаблон & lt; класс ...
вопрос задан: 6 March 2013 02:44
1
ответ

Смешивание основанного на политике дизайна с CRTP в C++

Я пытаюсь записать основанный на политике класс хоста (т.е. класс, который наследовался его шаблонному классу), со скручиванием, где класс политики является также шаблонным классом хоста, так, чтобы это могло получить доступ...
вопрос задан: 1 April 2010 04:25
1
ответ

Mixins, variadic шаблоны и CRTP в C++

Вот сценарий: я хотел бы иметь класс хоста, который может иметь переменное количество mixins (не слишком трудно с шаблонами variadic - см., например, http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10....
вопрос задан: 17 March 2010 15:32
1
ответ

Ошибка компилятора C++ с CRTP

У меня есть следующая иерархия классов: шаблон <имя типа T> основа класса {общественность: освободите f () {}}; класс class_a: общедоступная основа <class_a> {}; класс class_b: общедоступная основа <class_b>...
вопрос задан: 2 February 2010 03:02
0
ответов

Будет ли использование виртуального деструктора заставлять невиртуальные функции выполнять поиск по v-таблице?

Именно то, о чем спрашивает тема. Также хочу знать, почему ни в одном из обычных примеров CRTP не упоминается виртуальный dtor. РЕДАКТИРОВАТЬ: Ребята, пожалуйста, напишите также о проблеме CRTP, спасибо.
вопрос задан: 21 August 2019 07:09
0
ответов

Как самостоятельно зарегистрировать экземпляры классов, используя CRTP?

У меня есть реестр лямбда-функций, связанных с определенным CommandId, где зарегистрированная функция должна создавать конкретный экземпляр класса executor команды и предоставлять ему некоторые ...
вопрос задан: 9 June 2017 19:23
0
ответов

Предотвратить вывод пользователя из неправильной базы CRTP

Я не могу придумать правильный заголовок вопроса для описания проблемы. Надеюсь, приведенные ниже детали ясно объяснят мою проблему. Рассмотрим следующий код #include template <...
вопрос задан: 28 May 2017 17:34
0
ответов

Оператор преобразования реализован с помощью static_cast

Я задаю этот вопрос после проблемы, которую я поднял здесь. Суть довольно проста. Предположим, у вас есть два таких класса: template < class Derived > класс База { ... оператор const Derived&...
вопрос задан: 23 May 2017 12:11
0
ответов

Что такое необычно повторяющийся шаблон шаблона (CRTP)?

Не обращаясь к книге, может ли кто-нибудь дать хорошее объяснение CRTP с примером кода?
вопрос задан: 4 January 2017 22:55
0
ответов

Статический полиморфизм C ++ (CRTP) и использование определений типов из производных классов

Я прочитал статью в Википедии о любопытном повторяющемся шаблоне в C ++ для статического (читай: во время компиляции) полиморфизма. Я хотел обобщить его, чтобы изменить возвращаемые типы ...
вопрос задан: 4 September 2014 09:44
0
ответов

operator= и функции, которые не унаследованы в C++?

До теста, который я только что провел, я считал, что в C++ не наследуются только конструкторы. Но, видимо, оператор присваивания= не слишком... С чем это связано? Есть ли какие...
вопрос задан: 17 August 2012 17:15
0
ответов

Класс CRTP + Traits :«тип не назван…»

Я пытаюсь реализовать CRTP с шаблонным классом, и у меня возникает ошибка со следующим примером кода:#включить template class Traits { public :typedef...
вопрос задан: 3 August 2012 13:26
0
ответов

Любопытное циклическое наследование со смесью -ins в C++

Каков хороший способ расшифровать циклическое наследование здесь? узел класса { //... public :list соседи (){ / *... */ } void update (){ } } шаблон<тип узла класса>...
вопрос задан: 3 July 2012 12:46
0
ответов

Как написать хороший любопытно повторяющийся шаблон шаблона (CRTP) на C#

Некоторое время назад я хотел создать свой собственный преобразователь данных, который был бы намного проще обычного ORM. При этом я обнаружил необходимость иметь доступ к информации о типах наследуемых классов в моем...
вопрос задан: 7 June 2012 21:15
0
ответов

Любопытно повторяющийся шаблон -вариант

Что касается CRP, если я хочу реализовать его небольшое изменение (с использованием параметра шаблона шаблона )Я получаю ошибку компиляции :template