list_resize
list_resize (std::list::resize — 크기 조정)
std::list의 크기를 count개로 조정하는 멤버 함수예요. 원소가 많으면 잘라내고, 적으면 추가해요.
출처: cppreference
본문
시그니처는 다음과 같아요.
void resize( size_type count ); // (1)
void resize( size_type count, const value_type& value ); // (2)
컨테이너를 count개의 원소를 담도록 조정해요. count == std::distance(begin(), end())(즉 현재 크기와 같으면) 아무것도 하지 않아요.
현재 크기가 count보다 크면 컨테이너를 앞의 count개 원소로 줄여요. 현재 크기가 count보다 작으면:
(1) default-inserted 원소들을 추가로 덧붙여요.
(2) value의 복사본들을 추가로 덧붙여요.
매개변수
count: 컨테이너의 새 크기value: 새 원소를 초기화할 값
복잡도
std::distance(begin(), end())와 count 사이의 차이에 선형(linear)이에요.
예제
#include <list>
#include <iostream>
int main()
{
std::list<int> l{1, 2, 3};
l.resize(5, 0); // {1, 2, 3, 0, 0}
l.resize(2); // {1, 2}
for (int x : l) std::cout << x << ' ';
}