Инициализировать STD :: массив с диапазоном (пара итераторов)

Как я могу инициализировать зЬй :: массив из диапазона (как определено с помощью пары итераторов)?

Что-то вроде этого:

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?

Я думал, Массив будет иметь конструктор, пару итераторов, так что я мог бы сделать массив а (v.begin () , v.end ()) , но это, кажется, не имеют конструкторов на всех!

Я знаю, что могу копия вектор в массив, но я предпочел бы инициализировать массив с векторным содержимым непосредственно, без дефолта-его построения первой. Как я могу?

19
задан HC4 - reinstate Monica 7 June 2012 в 09:32
поделиться