std::list
cppreference.com
<list> 에 정의되어 있음.
|
||
template< class T, |
||
std::list
는 컨테이너 안의 어느 위치에서나 원소의 삽입 및 삭제를 상수 시간에 지원하는 컨테이너입니다. 랜덤 액세스(특정 위치에 접근)는 지원되지 않습니다. 보통 이중 연결 리스트로 구현됩니다. std::forward_list와 비교하면, 이 컨테이너는 공간적으로 비효율적이지만 양방향 탐색을 지원합니다.
리스트 내부 혹은 여러 리스트들 간에서 원소를 추가, 삭제 그리고 이동하더라도 iterator는 그대로 사용할 수 있습니다. iterator는 자신이 가리키는 원소가 삭제될때만 무효화됩니다.
std::list
는 Container
, AllocatorAwareContainer
, SequenceContainer
그리고 ReversibleContainer
의 조건을 만족합니다.
목차 |
[편집] 템플릿 인자
T | - | 원소의 타입.
| ||||
Allocator | - | 원소들을 저장하기 위해 메모리를 얻기 위해 쓰이는 할당자(allocator)이다. 이 형은 Allocator 의 요구 조건을 만족시켜야 한다.
|
[편집] 멤버 타입
멤버 타입 | 정의 |
value_type
|
T
|
allocator_type
|
할당자
|
size_type
|
부호 없는 정수(unsigned int) 타입 (일반적으로 std::size_t) |
difference_type
|
부호 있는 정수(signed int) 타입 (보통 std::ptrdiff_t) |
reference
|
Allocator::reference (until C++11)value_type& (since C++11)
|
const_reference
|
Allocator::const_reference (until C++11)const value_type& (since C++11)
|
pointer
|
Allocator::pointer (until C++11)std::allocator_traits<Allocator>::pointer (since C++11) |
const_pointer
|
Allocator::const_pointer (until C++11) std::allocator_traits<Allocator>::const_pointer (since C++11) |
iterator
|
BidirectionalIterator
|
const_iterator
|
상수(constant) 양방향 반복자(iterator) |
reverse_iterator
|
std::reverse_iterator<iterator> |
const_reverse_iterator
|
std::reverse_iterator<const_iterator> |
[편집] 멤버 함수
list 의 생성자이다. (public member function) | |
list 의 소멸자이다. (public member function) | |
컨테이너에 값을 할당한다. (public member function) | |
컨테이너에 값을 할당한다. (public member function) | |
연관된 할당자를 반환한다. (public member function) | |
원소에 대한 접근 | |
첫번째 요소에 접근한다. (public member function) | |
마지막 요소에 접근한다. (public member function) | |
Iterator | |
첫번째 원소로의 반복자(iterator)를 반환한다. (public member function) | |
마지막 원소로의 반복자(iterator)를 반환한다. (public member function) | |
첫번째 원소로의 역방향 반복자(reverse iterator)를 반환한다. (public member function) | |
마지막 원소로의 역방향 반복자(reverse iterator)를 반환한다. (public member function) | |
수용량 | |
현재 컨테이너가 비어있는지 확인한다. (public member function) | |
원소의 개수를 반환한다. (public member function) | |
원소의 최대 개수를 반환한다. (public member function) | |
제어자 | |
내용물을 모두 지운다. (public member function) | |
원소를 삽입한다. (public member function) | |
(C++11) |
원소를 바로 만들어 삽입한다. (public member function) |
원소를 삭제한다 (public member function) | |
끝에 원소를 삽입한다. (public member function) | |
(C++11) |
constructs elements in-place at the end (public member function) |
마지막 원소를 제거한다 (public member function) | |
새로운 원소를 앞에 삽입한다 (public member function) | |
(C++11) |
constructs elements in-place at the beginning (public member function) |
첫번째 원소를 없앤다 (public member function) | |
원소의 총 갯수를 바꾼다 (public member function) | |
원소들을 서로 바꾼다 (public member function) | |
작업 | |
merges two sorted lists (public member function) | |
moves elements from another list (public member function) | |
removes elements satisfying specific criteria (public member function) | |
reverses the order of the elements (public member function) | |
removes consecutive duplicate elements (public member function) | |
sorts the elements (public member function) |
[편집] 비 멤버 함수
lexicographically compares the values in the list (function template) | |
specializes the std::swap algorithm (function template) |