Есть ли менее подробный способ инициализировать кортеж разнородных кортежей (или типов с аналогичным шаблоном)C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Есть ли менее подробный способ инициализировать кортеж разнородных кортежей (или типов с аналогичным шаблоном)

Сообщение Anonymous »


Я хочу создать кортеж из разнородных кортежей, но для этого, похоже, требуется явный вызов конструктора для каждого члена:

auto foo = std::tuple{ std::tuple{1, "foo", 3}, станд::кортеж{1, 2, 3}, станд::кортеж{1.0, 2.0}, // еще много вызовов конструктора CTAD } По сути, я спрашиваю, может ли вспомогательная функция и т. д. сделать это похожим на приведенный ниже пример с однородными внутренними типами, где внутренний конструктор не нужно вызывать каждый раз.

auto bar = std::vector{ {1, "фу", 3}, {4, "бар", 6}, {1, "баз", 3}, // ... }; Надеюсь, у меня получится что-то вроде этого:

auto baz = make_tuple_of_tuples( {1, "фу", 3}, {1, 2, 3}, {1.0, 2.0}, // ... ); Если это невозможно с std::tuple, то как насчет пользовательского типа, где мы контролируем конструкторы и направляющие вывода?
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C++»