std에서 지원하는 기본적인 이중연결리스트 이다.
기본적인 형태는 위와 같음
Allocator는 메모리 할당 방식을 의미하는데 default값인 std::allocator를 지원함
고로 반환형식인 T만 신경써주면 됨
특징
std::list의 함수목록
c가 붙은 함수는 const임
splice()함수의 경우 인자로 받은 리스트의 원소는 사라지거나 감소
l2.splice(iterator,l1) 두가지 인자를 받음.
l2의 iterator위치에 l1의 원소를 이동
이동 후엔 l1의 원소는 사라짐
#include <iostream>
#include <list>
using namespace std;
int main()
{
list<int> l1; // empty list
l1.push_back(10);
l1.push_back(20);
list<int> l2{10, 20, 30, 40};
l2.splice(l2.end(), l1); // l1의 모든 원소가 이동 -> l1의 원소 전부 사라짐
l2.sort(); // 10,10,20,20,30,40
l2.unique(); // 10,20,30,40
for (auto a : l2)
{
cout << a << "\\n";
}
}