Инициализировать std :: array с диапазоном (пара итераторов)
Как я могу инициализироватьstd::array
из диапазона (как определено парой итераторов)?
Что-то вроде этого:
vector<T> v;
...
// I know v has exactly N elements (e.g. I just called v.resize(N))
// Now I want a initialized with those elements
array<T, N> a(???); // what to put here?
я думалarray
будет иметь конструктор, принимающий пару итераторов, чтобы я мог сделатьarray<T, N> a(v.begin(), v.end())
, но, похоже, не имеет конструкторов вообще!
я знаю что могуcopy
вектор в массив, но я бы скорее инициализировал массив содержимым вектора напрямую, не создавая его по умолчанию. Как я могу?