Specialization – вопросы и ответы

69
голосов
4
ответа
Я глубоко вхожу в новый проект, который я рассматриваю с помощью набора шаблонов и их специализаций. Теперь, после дня без программирования, я спрашиваю, действительно ли это стоит лишних строк код...
7 лет, 7 месяцев назад steffen
132
голоса
7
ответов
У меня есть класс auto pointer, а в конструкторе я передаю указатель. Я хочу, чтобы иметь возможность отделять новое от new [] в конструкторе, чтобы я мог правильно вызвать delete или delete [] в д...
9 лет, 10 месяцев назад Marlon
85
голосов
1
ответ
Рассмотрим (python): предположим, что глобальные функции: default_start() , main_behaviour() , default_end() , custom_start() и custom_end() как наполнитель кода для иллюстрации. class Parent: def ...
6 лет, 6 месяцев назад Scruffy
84
голоса
6
ответов
noob здесь все еще экспериментирует с шаблонами. Попытка написать шаблон класса обработки сообщений template <typename T> class MessageProcessor { //constructor, destructor defined //Code usi...
10 лет, 7 месяцев назад user106740
60
голосов
1
ответ
У меня есть следующая частичная специализация: constexpr int NUM_ARGS = 3; template <typename, typename, int> struct Dispatcher; template <typename T, typename V> struct Dispatcher<T...
4 года, 11 месяцев назад prestokeys
70
голосов
2
ответа
Я использую mixins с использованием шаблонов С++ для поддержки некоторых "расширенных" действий для базового (templated) класса. template< class Ch > Base {...}; template< class T > M1 ...
8 лет, 10 месяцев назад Austin Hastings
49
голосов
1
ответ
Мне было любопытно, почему это не работает: const int ASSIGN_LEFT = 1; const int ASSIGN_RIGHT = 2; template <int AssignDirection> void map( int& value1, int& value2 ); template<>...
8 лет, 10 месяцев назад Doug
61
голос
4
ответа
Рассмотрим этот простой код: class A { }; class V1: vector<A *>{ // my nice functions }; если у меня есть экземпляр V1, тогда любой объект, полученный из A, может быть вставлен в вектор, ok з...
10 лет, 3 месяца назад Jonathan
60
голосов
1
ответ
Можно ли специализировать класс шаблона для принятия дополнительных параметров шаблона? Например: template <typename T> struct X { void foo() { cerr << "Generic" << endl;} }; temp...
7 лет, 11 месяцев назад ATemp
49
голосов
2
ответа
Итак, я в основном хочу "добавить" дополнительный материал в класс, в зависимости от того, какие аргументы шаблона он использует, а затем накладывает на него более приятный интерфейс. Что-то вроде ...
4 года, 1 месяц назад DeiDei
69
голосов
1
ответ
Я хочу иметь абстрактный класс Server с абстрактным методом под названием Initialize , который передает ссылку на IConnection по ссылке. Оттуда класс, вытекающий из этого, должен иметь возможность ...
8 лет, 1 месяц назад Michael J. Gray
99
голосов
0
ответов
У меня есть класс без шаблона, который сам используется как параметр шаблона другого класса. Этот класс используется для абстрагирования базового представления некоторых данных. В идеале один из ме...
4 года назад David Jobet
49
голосов
2
ответа
Я пытаюсь обернуть голову вокруг специализации шаблона, и я немного смущен (возможно, не понимая, что такое имя на самом деле или что ожидает компилятор) Пример 1 (Компиляция): template <typenam...
3 года назад Makketronix
-5
голосов
1
ответ
У меня есть спецификация вариационного шаблона: template <typename T> struct MakeASXFunc; template <typename R, typename... Args> struct MakeASXFunc<R (Args...)> { std::tuple<A...
1 год, 11 месяцев назад AssassiN
60
голосов
1
ответ
Я очень стараюсь сделать эту работу, но мне не повезло. Я уверен, что есть работа, но я еще не сталкивался с ней. Хорошо, давайте посмотрим, могу ли я описать проблему и потребности достаточно прос...
10 лет, 3 месяца назад Brenton
49
голосов
1
ответ
Я наткнулся на небольшую проблему с небольшим кодом, который я делаю, изучая С++ 11/14. В основном у меня есть класс отладки, который я хочу обрабатывать при печати сообщений. Большинство классов о...
3 года, 6 месяцев назад Pirvu Mihai-Cristian
86
голосов
2
ответа
Можно ли каким-то образом запретить использование шаблонной функции для типов, для которых специализация не была явно записана. Я имею в виду что-то вроде этого template <typename T> void foo...
8 лет, 6 месяцев назад j_kubik
49
голосов
2
ответа
Даже не уверен, какая правильная терминология для этой ситуации. Если бы я знал это, то, вероятно, нашел бы ответ. У меня есть шаблонная функция, которая выглядит как template<typename T> voi...
6 лет, 6 месяцев назад SnoopyLane
48
голосов
0
ответов
У меня есть класс T и несколько классов шаблонов D1, D2,... которые я смешиваю и использую как D1<D2<...<Dn<T>>...> . Я хотел бы построить класс шаблона, который примет в качес...
5 лет, 3 месяца назад linuxfever
60
голосов
3
ответа
Во-первых, извините, если я совершу большие английские ошибки, я французский, но я стараюсь писать как можно лучше! Ну, я борюсь с С++ 11 вариационным шаблоном. Я хочу сделать что-то немного сложно...
6 лет, 8 месяцев назад Theo13
77
голосов
2
ответа
Код говорит: template<typename Group> struct Vector3D { Group x, y, z; Vector3D(Group x, Group y, Group z) : x(x), y(y), z(z) { } template<int p> Group Norm() const; }; template<type...
6 лет, 3 месяца назад buaagg
49
голосов
3
ответа
Это упрощенная версия проблемы, которую я пытался решить в последнее время. У меня есть следующие два класса: class Container { } class Container<T> : Container { T Value { get; private set; ...
8 лет, 11 месяцев назад Michal
70
голосов
3
ответа
Я хочу вызвать специализированную шаблонную функцию, используя указатель на ее базовый тип. Я не уверен, что это возможно, поэтому я открыт для предложений и/или альтернатив. Вот пример моей ситуац...
8 лет, 4 месяца назад MarkP
85
голосов
1
ответ
Я пытаюсь создать класс шаблона с функцией member, которая может обрабатывать арифметические типы данных (int, char, float...) и контейнерный класс, например Eigen :: DenseBase <> или std :: ...
1 год, 2 месяца назад Jonas Fertsch
170
голосов
5
ответов
У меня есть шаблонный класс: template<typename T> class A { protected: std::vector<T> myVector; public: /* constructors + a bunch of member functions here */ } Я хотел бы добавить тольк...
5 лет, 6 месяцев назад bob kaggle
50
голосов
2
ответа
У меня есть общий метод, где я хочу сделать что-то особенное для Strings . Я нашел DirectCast(DirectCast(value, Object), String) , чтобы получить значение String (когда я уже подтвердил GetType(T) ...
9 лет, 7 месяцев назад Mark Hurd
84
голоса
3
ответа
Это фрагменты шаблонов для метода less, который принимает в качестве входных данных два общих аргумента и возвращает результат bool Первый шаблон является общим Второй - это явный тип специализации...
3 года, 4 месяца назад krustamov
49
голосов
2
ответа
Я пытаюсь специализировать шаблонный метод в нетемплифицированном классе, где тип возвращаемого метода включает шаблонный тип - этот метод не принимает аргументов. Я искал вокруг и пытался заставит...
5 лет, 2 месяца назад counterfeitname
60
голосов
1
ответ
Скажем, у меня есть: template < typename T > class ClassA { void doTheStuff (T const * t); }; template < typename T > class ClassB { // Some stuff... }; Я хотел бы специализировать мето...
7 лет, 2 месяца назад F.L.
85
голосов
1
ответ
У меня возникают проблемы с настройкой внутреннего шаблона, когда все параметры известны. Вот пример: template < typename T0 > struct outer { template < typename T1 = void, typename T2 = v...
6 лет, 8 месяцев назад Crazy Eddie
69
голосов
2
ответа
Я в основном пытаюсь сделать то, что обсуждалось в специализация шаблона одного метода из шаблонного класса , за исключением того, что у моего TClass есть несколько шаблонов. Параметры вроде этого:...
6 лет, 9 месяцев назад marc40000
93
голоса
2
ответа
Я хочу написать шаблон математического вектора. У меня есть класс, который принимает тип и размер в качестве аргумента шаблона, с множеством методов математической операции. Теперь я хочу написать ...
7 лет, 4 месяца назад weltensturm
93
голоса
1
ответ
У меня есть черта и реализация, похожая на: trait Foo[A] { def bar[B >: A: Ordering]: Foo[B] } class FooImpl[A]( val a: A, val values: List[Foo[A]] ) extends Foo[A] { def bar[B >: A] = { /* c...
7 лет, 10 месяцев назад paradigmatic
98
голосов
1
ответ
У меня есть структура вроде template<typename T> struct S { T value; void Set(const T& val) { value = val; } void Foo(); } T может быть int, float, char, short и long long или одним из N ...
8 лет, 3 месяца назад chriskirk
50
голосов
1
ответ
Как я могу выделить заголовочный файл из файла cpp, когда у меня есть специализированная специализация? Я видел некоторые сообщения о том, как отделить заголовок от реализации для шаблона, включив ...
4 года, 5 месяцев назад Hamed
171
голос
2
ответа
Можно ли специализировать определенные члены класса шаблона? Что-то вроде: template <typename T,bool B> struct X { void Specialized(); }; template <typename T> void X<T,true>::Spe...
10 лет, 4 месяца назад sold
108
голосов
2
ответа
Мне нужно создать класс с общим элементом данных, который работает как istream. Для всех типов он должен иметь возможность хранить данные, которые он получает от оператора <<. Я хочу, чтобы о...
7 лет, 10 месяцев назад PaulDaPigeon
71
голос
2
ответа
У меня есть экземпляр std::vector<bool> ( foo , скажем), и мне нужно написать функцию, которая возвращает true , если все элементы true . Я использую return *std::min_element(foo.begin(), foo...
2 года, 8 месяцев назад Paul Logue
60
голосов
3
ответа
Я прочитал несколько вопросов, заданных по этой теме, здесь, в StackOverflow, но большинство из них сосредоточено на разных областях в области компьютерных наук. В настоящее время я работаю в старт...
10 лет, 4 месяца назад Johannes
60
голосов
1
ответ
У меня есть пользовательский шаблон шаблона Vector, который в основном выглядит следующим образом: template <typename T> class Vector{ ... friend ostream& operator<<(ostream& os...
2 года, 11 месяцев назад Infecto
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема