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 << ' ';
}

더 알아보기 (Learn more)

cppreference