В приведенном выше определении вектора используется конструктор range
. подпись равна
template <class InputIterator>
vector (InputIterator first, InputIterator last,
const allocator_type& alloc = allocator_type());
например:
int main() {
int a[] = {1, 2, 3};
vector<int> v(a + 1, a + 3);
for (int x : v) {
cout << x << endl;
}
return 0;
}
Сборка и запуск дает ( источник )
2
3
Итератор начинался с begin + 1 до последней позиции, поэтому первый элемент в конструкции вектора опускается.