C ++ 라이브러리-<벡터>
소개
벡터는 크기를 변경할 수있는 시퀀스 컨테이너입니다. 컨테이너는 동일한 유형의 데이터를 보유하는 개체입니다. 시퀀스 컨테이너는 요소를 엄격하게 선형 시퀀스로 저장합니다.
벡터는 인접한 메모리 위치에 요소를 저장하고 아래 첨자 연산자 []를 사용하여 모든 요소에 직접 액세스 할 수 있습니다. 배열과 달리 벡터는 런타임에 필요에 따라 축소 또는 확장 할 수 있습니다. 벡터의 저장은 자동으로 처리됩니다.
런타임시 축소 및 확장 기능을 지원하기 위해 벡터 컨테이너는 가능한 확장을 수용하기 위해 일부 추가 스토리지를 할당 할 수 있으므로 컨테이너의 실제 용량은 크기보다 큽니다. 따라서 어레이와 비교하여 벡터는 스토리지를 관리하고 효율적인 방식으로 동적으로 성장하는 대신 더 많은 메모리를 소비합니다.
크기가 0 인 벡터도 유효합니다. 이 경우 vector.begin () 및 vector.end ()는 동일한 위치를 가리 킵니다. 그러나 front () 또는 back ()을 호출하는 동작은 정의되지 않았습니다.
정의
아래는 <vector> 헤더 파일의 std :: vector 정의입니다.
template < class T, class Alloc = allocator<T> > class vector;
매개 변수
T − 포함 된 요소의 유형.
T는 사용자 정의 유형을 포함한 다른 데이터 유형으로 대체 될 수 있습니다.
Alloc − 할당 자 개체의 유형.
기본적으로 가장 간단한 메모리 할당 모델을 정의하고 값에 독립적 인 할당 자 클래스 템플릿이 사용됩니다.
회원 유형
다음 멤버 유형은 멤버 함수에 의해 매개 변수 또는 리턴 유형으로 사용될 수 있습니다.
Sr. 아니. | 회원 유형 | 정의 |
---|---|---|
1 | 값 _ 유형 | T (템플릿의 첫 번째 매개 변수) |
2 | 할당 자 _ 유형 | Alloc (템플릿의 두 번째 매개 변수) |
삼 | 참고 | 값 _ 유형 & |
4 | const_reference | const 값 _ 유형 & |
5 | 바늘 | 값 _ 유형 * |
6 | const_pointer | const 값 _ 유형 * |
7 | 반복자 | value_type에 대한 랜덤 액세스 반복기 |
8 | const_iterator | const value_type에 대한 임의 액세스 반복기 |
9 | reverse_iterator | std :: reverse_iterator <반복자> |
10 | const_reverse_iterator | std :: reverse_iterator <const_iterator> |
11 | 크기 유형 | size_t |
12 | 차이 _ 유형 | ptrdiff_t |
<벡터>의 함수
아래는 <vector> 헤더의 모든 메소드 목록입니다.
생성자
Sr. 아니. | 방법 및 설명 |
---|---|
1 | 벡터 :: 벡터 기본 생성자 요소가없는 빈 컨테이너를 생성합니다. |
2 | 벡터 :: 벡터 채우기 생성자 n 개의 요소 로 컨테이너를 구성하고 각 요소에 val 을 할당합니다. |
삼 | 벡터 :: 벡터 범위 생성자 처음 부터 마지막 까지의 범위에있는 많은 요소로 컨테이너를 구성 합니다. |
4 | 벡터 :: 벡터 복사 생성자 기존 컨테이너 x에 있는 각 요소의 복사본으로 컨테이너를 생성 합니다. |
5 | 벡터 :: 벡터 이동 생성자 이동 의미 체계를 사용하여 other의 내용으로 컨테이너를 구성합니다 . |
6 | 벡터 :: 벡터 이니셜 라이저 목록 생성자 이니셜 라이저 목록에서 컨테이너를 생성합니다. |
폐물 소각로
Sr. 아니. | 방법 및 설명 |
---|---|
1 | 벡터 :: ~ 벡터
컨테이너 메모리 할당을 해제하여 컨테이너를 파괴합니다. |
회원 기능
Sr. 아니. | 방법 및 설명 |
---|---|
1 | 벡터 :: 채우기 버전 할당 이전 값을 대체하여 벡터 요소에 새 값을 할당합니다. |
2 | 벡터 :: 범위 버전 할당 이전 값을 대체하여 벡터 요소에 새 값을 할당합니다. |
삼 | 벡터 :: 초기화 목록 버전 할당 이전 값을 대체하여 벡터 요소에 새 값을 할당합니다. |
4 | 벡터 :: at
벡터의 n 위치에있는 요소에 대한 참조를 반환 합니다. |
5 | 벡터 :: 뒤로
벡터의 마지막 요소에 대한 참조를 반환합니다. |
6 | 벡터 :: 시작
벡터의 첫 번째 요소를 가리키는 임의 액세스 반복기를 반환합니다. |
7 | 벡터 :: 용량
요소로 표현 된 할당 스토리지의 크기를 반환합니다. |
8 | 벡터 :: cbegin
벡터의 시작을 가리키는 상수 임의 액세스 반복기를 반환합니다. |
9 | 벡터 :: cend
벡터의 시작을 가리키는 상수 임의 액세스 반복기를 반환합니다. |
10 | 벡터 :: 지우기
벡터에서 모든 요소를 제거하여 벡터를 파괴하고 벡터의 크기를 0으로 설정합니다. |
11 | 벡터 :: crbegin
컨테이너의 역방향 시작을 가리키는 상수 역방향 반복기를 반환합니다. |
12 | 벡터 :: crend
벡터의 반대 끝을 가리키는 상수 역방향 반복기를 반환합니다. |
13 | 벡터 :: 데이터
벡터 컨테이너의 첫 번째 요소에 대한 포인터를 반환합니다. |
14 | 벡터 :: emplace
위치에 새 요소를 삽입하여 컨테이너를 확장합니다 . |
15 | 벡터 :: emplace_back
벡터 끝에 새 요소를 삽입합니다. |
16 | 벡터 :: 비어 있음
벡터가 비어 있는지 여부를 테스트합니다. |
17 | 벡터 :: 끝
벡터 컨테이너의 마지막 요소 를 가리키는 반복기를 반환합니다 . |
18 | 벡터 :: 지우기 위치 버전 벡터에서 단일 요소를 제거합니다. |
19 | 벡터 :: 지우기 범위 버전 벡터에서 단일 요소를 제거합니다. |
20 | 벡터 :: 앞
벡터의 첫 번째 요소에 대한 참조를 반환합니다. |
21 | 벡터 :: get_allocator
벡터와 관련된 할당자를 반환합니다. |
22 | 벡터 :: 단일 요소 버전 삽입 위치에 새 요소를 삽입하여 반복자를 확장합니다 . |
23 | 벡터 :: 채우기 버전 삽입 컨테이너에 새 요소를 삽입하여 벡터를 확장합니다. |
24 | 벡터 :: 범위 버전 삽입 컨테이너에 새 요소를 삽입하여 벡터를 확장합니다. |
25 | 벡터 :: 이동 버전 삽입 컨테이너에 새 요소를 삽입하여 벡터를 확장합니다. |
26 | 벡터 :: 초기화 목록 버전 삽입 컨테이너에 새 요소를 삽입하여 벡터를 확장합니다. |
27 | 벡터 :: 최대 _ 크기
벡터가 보유 할 수있는 최대 요소 수를 반환합니다. |
28 | 벡터 :: 연산자 = 버전 복사 기존 콘텐츠를 교체하여 벡터에 새 콘텐츠를 할당하고 필요한 경우 크기를 수정합니다. |
29 | 벡터 :: 연산자 = 버전 이동 기존 콘텐츠를 교체하여 벡터에 새 콘텐츠를 할당하고 필요한 경우 크기를 수정합니다. |
30 | vector :: operator = 이니셜 라이저 목록 버전 기존 콘텐츠를 교체하여 벡터에 새 콘텐츠를 할당하고 필요한 경우 크기를 수정합니다. |
31 | 벡터 :: 연산자 []
n 위치에있는 요소에 대한 참조를 반환합니다 . |
32 | 벡터 :: 팝백
벡터에서 마지막 요소를 제거하고 벡터 크기를 1 씩 줄입니다. |
33 | 벡터 :: 푸시 백
벡터 끝에 새 요소를 삽입하고 벡터 크기를 1 씩 늘립니다. |
34 | 벡터 :: rbegin
벡터의 마지막 요소를 가리키는 역방향 반복기를 반환합니다. |
35 | 벡터 :: 렌드
벡터의 반대쪽 끝을 가리키는 역방향 반복기를 반환합니다. |
36 | 벡터 :: 예약
벡터 용량 예약 요청은 최소한 n 개의 요소 를 포함하기에 충분합니다 . |
37 | 벡터 :: 크기 조정
벡터의 크기를 변경합니다. |
38 | vector :: shrink_to_fit
컨테이너가 크기에 맞게 용량을 줄 이도록 요청합니다. |
39 | 벡터 :: 크기
벡터에있는 요소의 수를 반환합니다. |
40 | 벡터 :: 교환
벡터의 내용을 벡터 x의 내용으로 교환합니다 . |
비 멤버 오버로드 함수
Sr. 아니. | 방법 및 설명 |
---|---|
1 | 연산자 ==
두 벡터가 같은지 여부를 테스트합니다. |
2 | 연산자! =
두 벡터가 같은지 여부를 테스트합니다. |
삼 | 연산자 <
첫 번째 벡터가 다른 벡터보다 작은 지 여부를 테스트합니다. |
4 | 연산자 <=
첫 번째 벡터가 다른 벡터보다 작거나 같은지 여부를 테스트합니다. |
5 | 연산자>
첫 번째 벡터가 다른 벡터보다 큰지 여부를 테스트합니다. |
6 | 연산자> =
첫 번째 벡터가 다른 벡터보다 크거나 같은지 여부를 테스트합니다. |
7 | 교환
두 벡터의 내용을 교환합니다. |