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