Время от времени я усложняю простой интерфейс, добавляя саморефлексный («рефлексивный») тип ограничение параметра к нему. Например, я мог бы включить это: interface ICloneable
{...
В VC ++ 10 следующий пример не работает с ошибкой C2027: «использование неопределенного типа 'X' ". Однако g ++ 4.6 прекрасно его компилирует. шаблон <класс T>
класс C
{статическая константа size_t size = sizeof (T);
...
В шаблоне CRTP мы сталкиваемся с проблемами, если хотим сохранить функцию реализации в производном классе как защищенную. . Мы должны либо объявить базовый класс как друг производного класса, либо ...
У меня есть головоломка, которую я пытаюсь решить, и в основном она сводится к следующему примеру: template
struct A
{ typedef typename CT::VALUE_T FOO; // FOO - это ...
edit: Я помещу здесь ссылку на github, когда закончу изменять свой дизайн для всех, кому это интересно. Предыстория Я заменяю boost :: intrusive, intrusive_set моей собственной реализацией как 64-битной ...
Я пытаюсь использовать decltype в позднем заданном возврате функция-член в базовом классе CRTP, и это ошибка: недопустимое использование неполного типа const struct AnyOp
Jeg prøver å sette kopi-og-bytte-idiomet inn i et gjenbrukbart mixin: mal
struct copy_and_swap
{Derived & operator = (Derived copy) {Derived * derivated = ...
Учитывая следующий тип CRTP в C #: открытый абстрактный класс DataProviderBase , где TProvider: DataProviderBase {} Как мне получить определение его универсального типа ...
У меня есть старый добрый CRPT (пожалуйста, не отвлекайтесь на ограничения доступа - вопрос в не о них): template class Base {void MethodToOverride () {...
] При попытке скомпилировать этот (похожий на CRTP) код с помощью GCC 4.6.0: template class T> struct A; template struct B: A :: template X> {template <...
Используя CRTP, я иногда пишу такой код: // это было написано первым
struct Foo: Base
{...
}; // это было скопировано из Foo несколько дней спустя
struct Bar: Base
Какова цель этого шаблона? Как это называется? Когда я впервые увидел это, это выглядело очень странно, хотя сейчас я видел это много раз. template
struct Base {// ......