stl에서 지원하는 단순연결리스트

기본적인 형태는 위와 같음
특징
- begin()함수로 순방향 반복자를 가질 수 있으며 ++연산자만 사용 가능
- std::list보다 빠르게 동작하고 적은 메모리를 사용
- #include <forward_list>에 정의되어 있음
std::list와의 함수 비교

순방향 반복자만 지원하기 때문에
- before_begin()은 begin()의 앞에 위치하는 Null_Node를 가르킴
- std::list는 insert()로 가르키는 위치 바로 앞에 값을 삽입하는데 fwd_list의 경우 반복자 앞의 값을 참고하기 어려워 지정한 위치의 뒤에 값을 삽입함
- size()를 지원하지 않음 → 대신에 distance()를 사용하여 길이를 알아낼 수 있음.
int cnt = distance(l1.begin(),l1.end());
-
remove(40)는 40에 해당하는 값 전부 삭제
-
remove_if()함수는 흔히 람다함수와 함께 사용함
l1.remove_if([](int n){return n>20;});
//n에 l1의 원소 하나하나를 대입하여 n>20인 경우에 true를 반환하여 삭제됨