При попытке ответить на this question, я нашел себя в необходимости создания кучи параметров для VARIADIC функции на лета, где:Функции для создания кортежа с учетом размером N и типа T
- числа параметров не дано
- типов все одинаковы, но неизвестно (даже если они должны быть конструктивна по умолчанию)
Во время исполнения стандартные контейнеры и для цикла можно использовать для этого.
Во всяком случае, я хотел бы сгенерировать набор параметров во время компиляции, чтобы иметь возможность пересылать их на переменную функцию.
Из-за этого, std::tuple
казалось очевидным решением.
Здесь возник вопрос: с учетом размера N
и конструктивного типа по умолчанию T
во время компиляции, как я могу написать функцию для генерации кортежа заданного размера?
Я ищу что-то вроде этого:
auto tup = gen<MyType, N>();
На SO является notable example из основанных рекурсивного генератора, но я структуры борюсь с функцией на основе решения, и я не смог найти его в любом месте.
Если типы все одинаковые, я бы использовал 'std :: array' вместо кортежа. –
davidhigh
@ davihigh Конечно. Я закончил тем, что использовал кортеж, потому что это было действительно сложнее. Я сделал это, чтобы экспериментировать, больше ничего. Если бы я столкнулся с реальной проблемой, я бы тоже использовал «массив». – skypjack