Свързани въпроси 'variadic-templates'

разширяване на пакет с параметри на променлив шаблон при използване на израз
Имам набор от класове като class A { void Do(int&); } class B { void Do(char&); } some more... Възможно ли е да свържете тези класове чрез променлив шаблон като този: template <typename ...T> class ConnectIt: public T... {...
63 изгледи
schedule 25.09.2022

Как да напиша функция с променлив шаблон в C++, където пакетът с параметри не е последният параметър?
Опитвам се да използвам функция с променлив шаблон, където пакетът с параметри не е последният параметър в списъка. Имайте предвид, че има две рекурсивни извиквания – едното изпуска параметър пред пакета, другото извикване изпуска параметър след...
174 изгледи

C++ Variadic шаблон И и ИЛИ
Можете ли да използвате различни шаблони на C++11, за да завършите /* ??? */ в: template<bool...v> struct var_and { static bool constexpr value = /* ??? */; }; така че var_and<v...>::value предоставя && над булевия...
1902 изгледи
schedule 06.10.2022

C++ объркан между cast оператор и променлив конструктор
C++ (по-конкретно, реализацията на g++ на MinGW) се обърква. Имам математически векторен клас, който съдържа произволен номер от произволен тип елемент. Типът на елемента и броят на елементите се определят по време на компилиране. Класът Vector...
919 изгледи

Как да правя общи изчисления върху разнородни пакети аргументи на функция с променлив шаблон?
ПРЕДСТАВКА: След като си поиграх малко с различни шаблони, разбрах, че постигането на нещо, което надхвърля малко тривиалните задачи за мета-програмиране, скоро става доста тромаво. По-конкретно, открих, че желая начин за извършване на общи...
6859 изгледи

Объркване относно променливите шаблони в стандарта c++11
Каква е разликата между двете функции? template <class ...Types> void f(Types... args...){} template <class ...Types> void g(Types... args){}
155 изгледи
schedule 02.11.2023

Получете N-тия тип шаблони с различни шаблони?
Как да получите N-тия тип шаблони с различни шаблони? Например template<typename... Args> class MyClass { Args[0] mA; // This is wrong. How to get the type? };
8837 изгледи
schedule 04.12.2023

Добавете всички параметри с разширение на пакета с параметри
Помислете, че имам променлив шаблон с int... параметри. Например функция като тази: template<int... t> int add(){ return t... + ??? } Всичко, което методът трябва да направи, е да добави всички параметри. Може лесно да се...
3143 изгледи
schedule 08.11.2023

Красиво отпечатани типове и шаблон на клас заедно с всички негови аргументи на шаблона
Тъй като typeid(T).name() не връща разбираемо за човека име на типа, това не ни помага много, ако искаме да отпечатаме името на аргументите на шаблона към някакъв шаблон на клас, особено когато отстраняваме грешки. Често ни се иска да напишем това...
1595 изгледи

как да върна последния тип на променлив шаблон?
Например template<typename... Ts> LastTypeOfTs f(); Как да върна последния тип на променлив шаблон?
455 изгледи
schedule 25.11.2023

Аргументът за заместител на Boost bind е равен на броя на аргументите на вариатичния шаблон
Искам да знам дали е възможно да използвам броя на аргументите, предадени на променлив шаблон като контейнер в извикване на boost::bind. Нещо като това: template <typename ... Args> boost::bind(&function, this, anArg, _1));...
1860 изгледи
schedule 26.12.2023

Предаване на позиция на аргумент на променлив шаблон
Бих искал да създам функция, която приема променлив брой аргументи на шаблона. По-късно с тези аргументи функцията трябва да предаде своята позиция по следния начин: template<typename R, typename Args...> R myFunction(Data &data, void...
1713 изгледи
schedule 23.01.2024

c++ комбинира стойности от два (или повече) пакета с параметри
Как е възможно да се комбинират стойности от два пакета параметри в C++? С други думи, как се пише функция LetsStart<int, -1, 10, 3>("This is -1", "And this is 10", "3!!!"); което би извело -1 This is -1...
2301 изгледи

Вариаден шаблонен метод и std::function - грешка при компилация
Сигурен съм, че грешката е много проста и глупава, но не виждам такава. Ето кода: #include <future> template <typename ResultType> class Foo { public: template <typename ...Args> void exec(const...
507 изгледи
schedule 17.01.2024

Елиминирайте дублиращите се записи от C++11 променливи аргументи на шаблона
Използвам променливи шаблони с множествено виртуално наследяване в C++, за да агрегирам типове в една дефиниция на структура. Ето примерен набор от структури: struct meas { int i; }; struct meas2 : public virtual meas { int j; }; struct meas3 :...
2598 изгледи

двусмислен оператор [] в променлив шаблон
Опитвам се да компилирам този пример, където променлив шаблон на клас наследява от променливо количество бази, всяка от които имплементира различен operator[] : #include <iostream> template <typename T> struct Field { typename...
200 изгледи

Достъп до тип в променлив шаблон по индекс
Бих искал да получа тип в променлив шаблон по индекс. Индексът е посочен като аргумент на шаблона. Успях да намеря „хак“, който работи, но вярвам, че не е в духа на програмирането с вариативни шаблони. Освен това използва допълнителна памет. Ето...
2221 изгледи

Дефинирани от потребителя литерали за variadic char шаблон
Наскоро в изходните кодове на gcc-trunk бяха внедрени "дефинираните от потребителя литерали". Кажете ми, моля, правилно ли разбирам, че не мога да дефинирам "дефинирани от потребителя литерали" за variadic char шаблон? template<char......
1467 изгледи
schedule 20.02.2024

променливи шаблони същия брой аргументи на функцията като в класа
Как да дефинирам сигнатура на метод, така че да приема същия брой аргументи като дефиницията на променлив шаблонен клас? Например как да дефинираме клас Array: template<typename T, int... shape> class Array { public: T& operator ()...
1319 изгледи
schedule 28.02.2024

Как да разширя пакета с параметри от базови класове и да извикам членска функция на всеки един?
Опитвам се да използвам различни шаблони за съставяне на клас. Идеята е, че класът Composer просто агрегира определен брой променливи и препраща извиквания на функции към всички инстанцирани променливи. Първо използвам следния прост клас...
1414 изгледи
schedule 24.03.2024