다음을 통해 공유


vector::vector

특정 크기의 벡터 또는 특정 값의 요소나 특정 할당자가 포함된 벡터를 생성하거나 다른 벡터의 일부분 또는 전체에 대한 복사본으로 벡터를 생성합니다. 요소는 인접한 메모리 블록에 저장되며 메모리 할당은 기본 할당자 또는 사용자가 제공하는 사용자 지정 할당자를 통해 관리됩니다.

vector( );  explicit vector(     const Allocator& Al ); explicit vector(     size_type Count ); vector(     size_type Count,     const Type& Val ); vector(     size_type Count,     const Type& Val,     const Allocator& Al ); vector(     const vector& Right );  vector(     vector&& Right ); vector(     initializer_list<Type> IList,     const _Allocator& Al ); template<class InputIterator>     vector(         InputIterator First,         InputIterator Last     ); template<class InputIterator>     vector(         InputIterator First,         InputIterator Last,         const Allocator& Al     ); 

매개 변수

매개 변수

설명

Al

이 개체에 사용할 할당자 클래스입니다. get_allocator는 개체에 대한 할당자 클래스를 반환합니다.

Count

생성된 벡터에 있는 요소의 수입니다.

Val

생성된 벡터에 있는 요소의 값입니다.

Right

해당 복사본으로 벡터를 생성할 벡터입니다.

First

복사할 요소의 범위에서 첫 번째 요소의 위치입니다.

Last

복사할 요소의 범위를 벗어난 첫 번째 요소의 위치입니다.

IList

복사할 요소를 포함하는 initializer_list입니다.

설명

모든 생성자는 할당자 개체(Al)를 저장하고 벡터를 초기화합니다.

처음 두 생성자는 빈 초기 벡터를 지정합니다. 두 번째 생성자는 사용할 할당자 유형(Al)을 명시적으로 지정합니다.

세 번째 생성자는 Type 클래스에 대한 기본값 요소의 지정된 반복 횟수(Count)를 지정합니다.

네 번째와 다섯 번째 생성자는 Val 값의 요소 반복(Count)을 지정합니다.

여섯 번째 생성자는 Right 벡터의 복사본을 지정합니다.

일곱 번째 생성자는 Right 벡터를 이동합니다.

여덟 번째 생성자는 initializer_list를 사용하여 요소를 지정합니다.

아홉 번째 및 열 번째 생성자는 벡터의 범위(First, Last)를 복사합니다.

예제

// vector_ctor.cpp
// compile with: /EHsc
#include <vector>
#include <iostream>

int main()
{
    using namespace std;
    vector <int>::iterator v1_Iter, v2_Iter, v3_Iter, v4_Iter, v5_Iter, v6_Iter;

    // Create an empty vector v0
    vector <int> v0;

    // Create a vector v1 with 3 elements of default value 0
    vector <int> v1(3);

    // Create a vector v2 with 5 elements of value 2
    vector <int> v2(5, 2);

    // Create a vector v3 with 3 elements of value 1 and with the allocator 
    // of vector v2
    vector <int> v3(3, 1, v2.get_allocator());

    // Create a copy, vector v4, of vector v2
    vector <int> v4(v2);

    // Create a new temporary vector for demonstrating copying ranges
    vector <int> v5(5);
    for (auto i : v5) {
        v5[i] = i;
    }

    // Create a vector v6 by copying the range v5[_First, _Last)
    vector <int> v6(v5.begin() + 1, v5.begin() + 3);

    cout << "v1 =";
    for (auto& v : v1){
        cout << " " << v;
    }
    cout << endl;

    cout << "v2 =";
    for (auto& v : v2){
        cout << " " << v;
    }
    cout << endl;

    cout << "v3 =";
    for (auto& v : v3){
        cout << " " << v;
    }
    cout << endl;
    cout << "v4 =";
    for (auto& v : v4){
        cout << " " << v;
    }
    cout << endl;

    cout << "v5 =";
    for (auto& v : v5){
        cout << " " << v;
    }
    cout << endl;

    cout << "v6 =";
    for (auto& v : v6){
        cout << " " << v;
    }
    cout << endl;

    // Move vector v2 to vector v7
    vector <int> v7(move(v2));
    vector <int>::iterator v7_Iter;

    cout << "v7 =";
    for (auto& v : v7){
        cout << " " << v;
    }
    cout << endl;

    vector<int> v8{ { 1, 2, 3, 4 } };
    for (auto& v : v8){
        cout << " " << v ;
    }
    cout << endl;
}
  

요구 사항

헤더: <vector>

네임스페이스: std

참고 항목

참조

vector 클래스

표준 템플릿 라이브러리