Раскрытие пакета в списке в C++
Раскрытие в списке подставляет элементы пакета в фигурный список инициализации так же, как отдельные значения через запятую.
Один участок xs... внутри скобок
заполняет контейнер начальными значениями.
Запишем шаблон и выведем размер вектора:
#include <iostream>
#include <vector>
template<typename... Ts>
void fill(Ts... xs) {
std::vector<int> data{xs...};
std::cout << data.size() << "\n";
}
int main() {
fill(10, 20, 30);
return 0;
}
Создайте в шаблоне массив int
длины sizeof...(Ts) как
int nums[]{ xs... }.
Выведите второй элемент для трех
целых 1, 2 и 3.
Заполните std::vector<int>
одним раскрытием из четырех аргументов.
Выведите последний элемент вектора.