다음을 통해 공유


list 클래스

STL 목록 클래스는 선형 배열에서 해당 요소를 유지 관리하고 시퀀스 내 모든 위치에서 효율적인 삽입과 삭제를 수행할 수 있도록 하는 시퀀스 컨테이너의 템플릿 클래스입니다. 시퀀스는 양방향으로 링크된 요소의 목록으로 저장됩니다. 이러한 요소는 각각 특정 Type 형식의 멤버를 포함합니다.

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

매개 변수

  • 형식
    목록에 저장되는 요소 데이터 형식입니다.

  • Allocator
    목록의 메모리 할당 및 할당 취소에 대한 세부 정보를 캡슐화하는 저장된 할당자 개체를 나타내는 형식입니다. 이 인수는 선택 사항이며 기본값은 allocator<Type>입니다.

설명

컨테이너 형식은 일반적으로 응용 프로그램에서 필요한 검색과 삽입의 형식을 기준으로 선택해야 합니다. 요소에 대한 임의 액세스는 거의 발생하지 않으며 요소 삽입 또는 삭제는 시퀀스 끝에서만 수행하면 되는 시퀀스를 관리할 때는 벡터를 기본 컨테이너로 사용해야 합니다. 임의 액세스가 필요하며 시퀀스 시작과 끝의 삽입 및 삭제는 거의 수행되지 않는 경우에는 deque 클래스 컨테이너의 성능이 보다 뛰어납니다.

목록 멤버 함수 merge, reverse, unique, removeremove_if는 목록 개체에 대한 작업을 위해 최적화되었으며, 동일한 제네릭 함수에 비해 성능이 우수합니다.

멤버 함수가 목록의 요소를 삽입하거나 지워야 하면 목록 다시 할당이 수행됩니다. 이러한 모든 경우에는 제어되는 시퀀스의 지워지는 부분을 가리키는 반복기 또는 참조만 유효하지 않은 상태가 됩니다.

컨테이너 템플릿 클래스 목록과 여러 지원 템플릿을 정의하려면 STL 표준 헤더 <list>를 포함합니다.

생성자

list

특정 크기의 목록 또는 특정 값의 요소나 특정 allocator가 포함된 목록을 다른 목록의 복사본으로 생성합니다.

형식 정의

allocator_type

목록 개체의 allocator 클래스를 나타내는 형식입니다.

const_iterator

목록의 const 요소 하나를 읽을 수 있는 양방향 반복기를 제공하는 형식입니다.

const_pointer

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

const_reference

const 작업을 읽고 수행하기 위해 목록에 저장된 const 요소에 대한 참조를 제공하는 형식입니다.

const_reverse_iterator

목록의 모든 const 요소를 읽을 수 있는 양방향 반복기를 제공하는 형식입니다.

difference_type

동일한 목록 내의 요소를 참조하는 두 반복기 사이의 차이를 제공하는 형식입니다.

iterator

목록에 있는 모든 요소를 읽거나 수정할 수 있는 양방향 반복기를 제공하는 형식입니다.

포인터

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

참조

const 작업을 읽고 수행하기 위해 목록에 저장된 const 요소에 대한 참조를 제공하는 형식입니다.

reverse_iterator

역방향 목록의 요소를 읽거나 수정할 수 있는 양방향 반복기를 제공하는 형식입니다.

size_type

목록의 요소 수를 계산하는 형식입니다.

value_type

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

멤버 함수

assign

목록에서 요소를 삭제하고 대상 목록에 요소의 새 집합을 복사합니다.

back

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

begin

목록에서 첫 번째 요소의 주소를 지정하는 반복기를 반환합니다.

list::cbegin

목록에서 첫 번째 요소의 주소를 지정하는 const 반복기를 반환합니다.

list::cend

목록에서 마지막 요소 다음에 나오는 위치의 주소를 지정하는 const 반복기를 반환합니다.

list::clear

목록의 모든 요소를 지웁니다.

list::crbegin

역방향 목록에서 첫 번째 요소의 주소를 지정하는 const 반복기를 반환합니다.

list::crend

역방향 목록에서 마지막 요소 다음에 나오는 위치의 주소를 지정하는 상수 반복기를 반환합니다.

list::emplace

생성된 요소를 목록의 지정된 위치에 삽입합니다.

list::emplace_back

생성된 요소를 목록 끝부분에 추가합니다.

list::emplace_front

생성된 요소를 목록 시작 부분에 추가합니다.

empty

목록이 비어 있는지 여부를 테스트합니다.

end

목록에서 마지막 요소 다음에 나오는 위치의 주소를 지정하는 반복기를 반환합니다.

erase

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

front

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

get_allocator

목록을 생성하는 데 사용된 allocator 개체의 복사본을 반환합니다.

insert

요소 하나 또는 여러 개나 요소의 범위를 목록의 지정된 위치에 삽입합니다.

max_size

목록의 최대 길이를 반환합니다.

merge

요소를 인수 목록에서 제거하고 대상 목록에 삽입한 다음 새로 조합된 요소 집합을 오름차순 또는 기타 지정된 순서로 정렬합니다.

pop_back

목록의 끝에 있는 요소를 삭제합니다.

pop_front

목록의 시작 부분에 있는 요소를 삭제합니다.

push_back

목록의 끝에 요소를 추가합니다.

push_front

목록의 시작 부분에 요소를 추가합니다.

rbegin

역방향 목록에서 첫 번째 요소의 주소를 지정하는 반복기를 반환합니다.

remove

목록에서 지정된 값과 일치하는 요소를 지웁니다.

remove_if

지정된 조건자를 충족하는 요소를 목록에서 지웁니다.

rend

역방향 목록에서 마지막 요소 다음에 나오는 위치의 주소를 지정하는 반복기를 반환합니다.

resize

목록의 새 크기를 지정합니다.

reverse

목록에 요소가 나타나는 순서를 반대로 바꿉니다.

size

목록에 있는 요소 수를 반환합니다.

sort

오름차순 또는 기타 순서 관계를 기준으로 목록의 요소를 정렬합니다.

splice

인수 목록에서 요소를 제거하고 대상 목록에 삽입합니다.

스왑

두 목록의 요소를 교환합니다.

unique

목록에서 인접하는 중복 요소 또는 기타 이진 조건자를 충족하는 인접 요소를 제거합니다.

연산자

list::operator=

목록의 요소를 다른 목록의 복사본으로 바꿉니다.

요구 사항

헤더: <list>

참고 항목

참조

<list>

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

표준 템플릿 라이브러리