Результаты поиска по запросу "variadic-templates"

5 ответов

@ Jarod42 хорошая мысль

я есть следующая функция, которая может принимать N аргументов разных типов и пересылать их N функциям, шаблонным для каждого отдельного типа, таким образом (пример с двумя аргументами): template <typename T1, typename T2> bool func(int& ...

4 ответа

Возникли проблемы при передаче нескольких списков инициализатора в шаблон функции

Я не понимаю сообщение об ошибке при попытке передать переменное число списков инициализатора: template<typename... Values> void foo(Values...) { } int main() { foo(1, 2, 3, "hello", 'a'); // OK foo({1}, {2, 3}); // ERROR }Сообщение об ошибке ...

1 ответ

 действительно будет пустым в этой ситуации.

отрим следующий код: template <typename... Types> struct list { template <typename... Args> list(Args...) { static_assert(sizeof...(Types) > 0); } }; template <typename... Args> list(Args...) -> list<Args...>; int main() { list l{0, 0.1, 'a'}; ...

ТОП публикаций

4 ответа

 - теперь любой вариационный пакет может быть сопоставлен с

периментировал с вариабельными шаблонами C ++ 0x, когда наткнулся на эту проблему: template < typename ...Args > struct identities { typedef Args type; //compile error: "parameter packs not expanded with '...' }; //The following code just shows ...

1 ответ

 - Было бы хорошо, если бы это было реализовано!

лжающийсямое путешествие в мир вариационных шаблонов [https://stackoverflow.com/q/4691657/20984]Я столкнулся с другой проблемой. Предполагая следующий класс шаблона: template < typename T > struct foo { //default implementation };можно ...

1 ответ

Генерация наследования сложных вариабельных шаблонов

Немного поиграв с вариадическими шаблонами, чтобы попытаться выяснить, что с ними можно сделать, я обнаружил, что задаюсь вопросом: Предположим, у меня есть класс, который может принимать несколько других классов в качестве параметров шаблона, ...

0 ответов

lvalue ссылки

я есть следующая функция шаблона со специализацией: // Pass the argument through ... template<typename T, typename U=T> U convert(T&& t) { return std::forward<T>(t); } // ... but convert std::strings const char* convert(std::string s) { return ...

2 ответа

Функциональная композиция с вариационными шаблонами в C ++ 11

Я математик, который давно занимается программированием на С ++ в "старом стиле". Я чувствую, что некоторые новые синтаксические конструкции, предлагаемые C ++ 11, могут помочь мне достичь лучшего кода относительно моих профессиональных проектов. ...

5 ответов

Пакеты параметров шаблона имеют доступ к N-му типу и N-му элементу

Следующая статья является первым предложением, которое я нашел для пакетов параметров шаблона. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1603.pdf [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2004/n1603.pdf] На странице 16 ...

2 ответа

Улучшенный макрос LOG () с использованием шаблонного метапрограммирования

Типичное решение для ведения журнала на основе макросов LOG () может выглядеть примерно так: #define LOG(msg) \ std::cout << __FILE__ << "(" << __LINE__ << "): " << msg << std::endlЭто позволяет программистам создавать сообщения с богатыми ...