Вопросы по теме 'specialization'
Переопределение нескольких унаследованных шаблонных функций специализированными версиями
Хорошо, сначала пример кода; это моя попытка сообщить, что я пытаюсь сделать, хотя она не компилируется:
#include <iostream>
template <class T>
class Base
{
public:
virtual void my_callback() = 0;
};
class Derived1
: public...
1787 просмотров
schedule
23.04.2024
Могут ли шаблоны C++ проверять, была ли функция перегружена для данного типа?
У меня есть функция шаблона, которую я ожидаю шаблонизировать для разных типов в разных местах. Проблема в том, что я хотел бы знать во время компиляции, существует ли специализация для данного типа для создания двумя разными способами другого...
407 просмотров
schedule
29.10.2022
Шаблон специализированной функции для ссылочных типов
Почему вывод этого кода :
#include <iostream>
template<typename T> void f(T param)
{
std::cout << "General" << std::endl ;
}
template<> void f(int& param)
{
std::cout << "int&" <<...
7395 просмотров
schedule
24.02.2024
Вопрос о методе специализации шаблона С++
Я новичок в 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 просмотров
schedule
29.07.2023
Связь сущностей — проектирование БД
Я пытаюсь придумать лучший дизайн для тренеров и базы данных клиентов.
Моя первоначальная мысль была такой:
Сущность person с общими атрибутами клиентов и тренеров (имя, доб и т.д.). У клиента может быть только один тренер. У одного...
134 просмотров
schedule
12.11.2023
Определение шаблона функции-члена внутреннего класса с аргументом перечисления (не типа)
У меня возникли трудности с определением и специализацией функции-члена update() внутреннего класса Outer<T1>::Inner , шаблоном которой является аргумент, не являющийся типом (enum).
#include <cstdlib>
template<typename T1>...
1541 просмотров
schedule
26.11.2022
Почему специализации шаблонов функций не разрешены внутри класса?
После того, как я нашел ответы на многие свои вопросы о 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 просмотров
schedule
18.03.2023
Непонимание специализации и констант шаблонов 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 просмотров
schedule
05.02.2024
Явная специализация универсальной функции является быстрой
Я пытаюсь вызвать статический метод в быстром классе, используя универсальную функцию, поэтому мне действительно не нужно, чтобы тип класса был частью сигнатуры функции. Не могу найти способ сделать это.
Вот пример С++ того, что я пытаюсь сделать:...
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 просмотров
schedule
29.04.2022