Вектор из std::array в C++
Чтобы получить вектор с тем же содержимым,
удобно передать пару итераторов в конструктор
std::vector. Методы begin и end
отмечают первый элемент и позицию за последним:
std::array<int, 3> nums{10, 20, 30};
std::vector<int> lst(nums.begin(), nums.end());
std::cout << lst[1] << "\n";
Длина вектора совпадет с длиной массива. Запишем массив строк, скопируем диапазон и выведем размер приемника:
std::array<std::string, 2> tags{"a", "b"};
std::vector<std::string> words(tags.begin(), tags.end());
std::cout << words.size() << "\n";
Дан массив:
std::array<int, 4> vals{1, 2, 3, 4};
Постройте вектор с теми же числами через
begin и end. Выведите третий
элемент вектора.
Дан массив:
std::array<std::string, 3> row{"p", "q", "r"};
Скопируйте элементы в пустой вектор и выведите длину вектора.