다음을 통해 공유


vector 클래스

STL 벡터 클래스는 선형 배열에 지정된 형식의 요소를 저장하고 모든 요소에 대한 빠른 임의 액세스를 허용하는 클래스 템플릿입니다. 임의 액세스 성능이 가장 중요할 때는 벡터 클래스를 시퀀스에 대한 기본 컨테이너로 사용해야 합니다. 사용할 시퀀스 컨테이너의 유형을 모르는 경우에도 벡터를 사용합니다.

template < 
   class Type,  
   class Allocator = allocator<Type>  
> 
class vector

매개 변수

  • 형식
    벡터에 저장할 요소의 유형입니다.

  • Allocator
    벡터에 대해 메모리를 할당하고 할당을 취소하는 개체의 유형입니다. 이 인수는 선택 사항이며 기본값은 std::allocator*<Type>*입니다.

설명

벡터를 사용하면 시퀀스 끝에서 상수 시간 삽입 및 삭제할 수 있습니다. 벡터 중간에 요소를 삽입하거나 삭제하려면 선형 시간이 필요합니다. 시퀀스의 시작과 끝에서 수행하는 삽입 및 삭제의 경우에는 deque 클래스 컨테이너의 성능이 더 우수합니다. 그리고 시퀀스 내 임의의 위치에서 수행하는 삽입 및 삭제의 경우에는 list 클래스 컨테이너의 성능이 뛰어납니다.

멤버 함수가 벡터에 포함되는 요소의 수를 현재 저장소 용량보다 더 크게 늘려야 할 때 벡터 다시 할당이 수행됩니다. 다른 삽입 및 지우기에서 시퀀스 내의 여러 저장소 주소가 변경될 수 있습니다. 이러한 모든 경우 시퀀스의 변경되는 부분을 가리키는 반복기 또는 참조가 올바르지 않은 상태가 됩니다. 재할당이 수행되지 않으면 삽입/삭제 지점 앞의 반복기와 참조만 올바른 상태로 유지됩니다.

벡터<bool> 클래스는 bool 유형 요소에 대한 클래스 템플릿 벡터의 전체 특수화로, 특수화에 사용되는 기본 유형에 대한 할당자를 포함합니다.

벡터<bool> reference 클래스는 해당 개체가 벡터<bool> 개체 내의 요소(단일 비트)에 대한 참조를 제공할 수 있는 중첩 클래스입니다.

멤버

생성자

벡터

특정 크기의 벡터 또는 특정 값의 요소나 특정 allocator가 포함된 벡터를 생성하거나 다른 벡터의 복사본으로 벡터를 생성합니다.

형식 정의

allocator_type

벡터에서 사용하는 allocator의 유형입니다.

const_iterator

읽기 전용 임의 액세스 반복기를 나타내는 형식입니다.

const_pointer

벡터의 요소에 대한 읽기 전용 포인터를 나타내는 형식입니다.

const_reference

const 작업을 읽고 수행하기 위해 벡터에 저장되는 const에 대한 참조입니다.

const_reverse_iterator

읽기 전용 역방향 반복기입니다.

difference_type

벡터 내 두 요소 주소 간의 차이를 나타내는 형식입니다.

iterator

벡터에 있는 모든 요소를 읽거나 수정할 수 있는 임의 액세스 반복기를 제공하는 형식입니다.

포인터

벡터의 요소에 대한 포인터를 제공하는 형식입니다.

참조

벡터에 저장된 요소에 대한 참조를 나타내는 형식입니다.

reverse_iterator

reverse_iterator를 나타내는 형식입니다.

size_type

벡터의 요소 수를 나타내는 형식입니다.

value_type

벡터에 저장된 데이터 형식을 나타내는 형식입니다.

멤버 함수

assign

지정한 요소를 새 요소의 복사본으로 바꿉니다.

at

벡터에서 지정한 위치의 요소에 대한 참조를 반환하고, 인덱스가 0보다 작거나 size() 이상이면 out_of_range 예외를 throw합니다.

back

벡터의 마지막 요소에 대한 참조를 반환합니다.

begin

벡터의 첫 번째 요소에 대한 임의 액세스 반복기를 반환합니다.

capacity

저장소를 더 할당하지 않고 벡터가 포함할 수 있는 요소의 수를 반환합니다.

cbegin

벡터의 첫 번째 요소에 대한 임의 액세스 const 반복기를 반환합니다.

cend

벡터 끝의 단일 pastj를 가리키는 임의 액세스 const 반복기를 반환합니다.

crbegin

벡터의 마지막 요소에 대한 const reverse_iterator를 반환합니다.

crend

벡터의 첫 번째 요소 앞에 있는 요소를 가리키는 const reverse_iterator를 반환합니다.

clear

벡터의 요소를 지웁니다.

data

벡터의 첫 번째 요소에 대한 포인터를 반환합니다.

emplace

내부에서 생성된 요소를 벡터의 지정된 위치에 삽입합니다.

emplace_back

내부에서 생성된 요소를 벡터의 끝에 추가합니다.

empty

벡터에 요소가 있는지를 테스트합니다.

end

벡터의 마지막 요소 다음의 요소를 가리키는 임의 액세스 반복기를 반환합니다.

erase

벡터의 지정된 위치에서 요소 또는 요소 범위를 제거합니다.

front

벡터의 첫 번째 요소에 대한 참조를 반환합니다.

get_allocator

벡터에서 사용되는 allocator를 반환합니다.

insert

요소 또는 요소의 수를 벡터의 지정된 위치에 삽입합니다.

max_size

벡터의 최대 길이를 반환합니다.

pop_back

벡터의 끝에 있는 요소를 삭제합니다.

push_back

벡터 끝에 요소를 추가합니다.

rbegin

역방향 벡터의 첫 번째 요소에 대한 반복기를 반환합니다.

rend

첫 번째 요소 앞의 요소를 가리키는 reverse_iterator를 반환합니다.

reserve

벡터 개체에 대한 저장소의 최소 길이를 예약합니다.

resize

벡터의 새 크기를 지정합니다.

shrink_to_fit

여분의 용량을 삭제합니다.

size

벡터에 있는 요소 수를 반환합니다.

스왑

두 벡터의 요소를 교환합니다.

연산자

operator[]

지정된 위치에서 벡터 요소에 참조를 반환합니다.

연산자 =

벡터의 요소를 다른 벡터의 복사본으로 바꿉니다.

요구 사항

헤더: <vector>

네임스페이스: std

참고 항목

참조

C++ 표준 라이브러리의 스레드 보안

표준 템플릿 라이브러리

기타 리소스

구성원의 벡터

<vector> 멤버