Вопросы по теме 'specialization'

Переопределение нескольких унаследованных шаблонных функций специализированными версиями
Хорошо, сначала пример кода; это моя попытка сообщить, что я пытаюсь сделать, хотя она не компилируется: #include <iostream> template <class T> class Base { public: virtual void my_callback() = 0; }; class Derived1 : public...
1787 просмотров

Могут ли шаблоны C++ проверять, была ли функция перегружена для данного типа?
У меня есть функция шаблона, которую я ожидаю шаблонизировать для разных типов в разных местах. Проблема в том, что я хотел бы знать во время компиляции, существует ли специализация для данного типа для создания двумя разными способами другого...
407 просмотров

Шаблон специализированной функции для ссылочных типов
Почему вывод этого кода : #include <iostream> template<typename T> void f(T param) { std::cout << "General" << std::endl ; } template<> void f(int& param) { std::cout << "int&" <<...
7395 просмотров

Вопрос о методе специализации шаблона С++
Я новичок в C++ и пытаюсь использовать шаблон, но у меня проблемы. Что я пытаюсь сделать, так это: попытаться вычислить квадрат числа с использованием шаблона, и число может быть базовым типом данных, таким как int, float, а также комплексными...
1777 просмотров
schedule 07.03.2022

Связывание C++ и специализации шаблонов
Я изучаю поведение компоновщика C++ в отношении специализаций шаблонов. Я использую Microsoft Visual C++ 2010 для этих экспериментов. Я не знаю, такое ли поведение с другими наборами инструментов (например, gcc). Вот первый фрагмент кода: //...
4082 просмотров
schedule 05.06.2022

Шаблонная конструкция нешаблонного класса
У меня есть класс, который имеет общие члены, но его нужно построить конечным числом способов на основе перечисления. Каждый тип известен во время компиляции, поэтому я думаю, что шаблоны здесь имеют смысл. Я знаю, что могу решить это с помощью...
231 просмотров
schedule 29.12.2023

vb.net специализированные/перегруженные дженерики
Я склонен ненавидеть повторения в коде, поэтому, когда я сталкиваюсь с проблемой, в которой различаются только типы, я склонен использовать дженерики. Исходя из фона C ++, я нахожу версию vb.net довольно разочаровывающей, я знаю, что C ++ имеет...
896 просмотров

Связь сущностей — проектирование БД
Я пытаюсь придумать лучший дизайн для тренеров и базы данных клиентов. Моя первоначальная мысль была такой: Сущность person с общими атрибутами клиентов и тренеров (имя, доб и т.д.). У клиента может быть только один тренер. У одного...
134 просмотров
schedule 12.11.2023

Определение шаблона функции-члена внутреннего класса с аргументом перечисления (не типа)
У меня возникли трудности с определением и специализацией функции-члена update() внутреннего класса Outer<T1>::Inner , шаблоном которой является аргумент, не являющийся типом (enum). #include <cstdlib> template<typename T1>...
1541 просмотров

Почему специализации шаблонов функций не разрешены внутри класса?
После того, как я нашел ответы на многие свои вопросы о stackoverflow, я столкнулся с вопросом, на который я не могу найти ответа, и я надеюсь, что кто-то захочет мне помочь! Моя проблема в том, что я хочу сделать явную шаблонизацию функции внутри...
8985 просмотров
schedule 28.02.2022

Специализация функции-члена класса шаблона по типу
Я пытаюсь специализировать функцию-член в шаблонном классе по признаку типа его параметра шаблона, но мое предварительное объявление явно неверно. Есть ли легкое решение? #include <type_traits> template <typename T> class TTest{...
246 просмотров
schedule 19.11.2022

Как можно предоставить специализированные реализации со специализацией Scala?
Специализация обещает предоставить высокоэффективные реализации для примитивных типов с минимальным дополнительным шаблоном. Но специализация, кажется, слишком стремится к своей же пользе. Если я хочу специализировать класс или метод, def...
1895 просмотров
schedule 04.05.2024

C++ - специализация шаблона функции не вызывается
У меня есть следующий код: template<typename T> bool validate(const T& minimum, const T& maximum, const T& testValue) { return testValue >= minimum && testValue <= maximum; } template<> bool...
2341 просмотров

Непонимание специализации и констант шаблонов C ++
Я пытаюсь осмыслить специализацию шаблона и немного запутался (возможно, не понимаю, что такое typename на самом деле или чего ожидает компилятор) Пример 1 (компилируется): template <typename A, typename... Args> class Example {...
68 просмотров
schedule 30.01.2023

неявное создание экземпляра неопределенного шаблона при создании псевдонима спецификации частичного шаблона
Я следую примерам шаблонов из книги « Практическое метапрограммирование C++ » и достиг части примера, где я не могу заставить код компилироваться без обхода псевдонима. При использовании псевдонима make_tuple_of_derefed_params_t я получаю сообщение...
2889 просмотров
schedule 01.05.2023

специализировать только (часть) одного метода класса шаблона
Если у меня есть класс шаблона template<typename T> class C { public: void method1() { ... } void method2() { ... } std::string method3(T &t) { // ... std::string s = t.SerializeToString(); // ......
927 просмотров

Явная специализация универсальной функции является быстрой
Я пытаюсь вызвать статический метод в быстром классе, используя универсальную функцию, поэтому мне действительно не нужно, чтобы тип класса был частью сигнатуры функции. Не могу найти способ сделать это. Вот пример С++ того, что я пытаюсь сделать:...
593 просмотров
schedule 05.05.2024

Как специализировать возвращаемый тип функции с перечислением в С++?
Я использую вариант для хранения диапазона типов для синтаксического анализатора на C++. Каждая составляющая синтаксического правила имеет категорию (типа enum) и значение. Компонент хранит тип значения в соответствии с категорией. Для примера я...
104 просмотров
schedule 05.10.2022

Утечка памяти C++ в специализации шаблона
Я не могу понять, что происходит в следующем коде: template<typename X> class TestClass { public: void alloc(X x) { } }; template<> void TestClass<int>::alloc(int x) { char* buf = new char[1]; delete[] buf; }...
31 просмотров