Skip to content

Latest commit

 

History

History
71 lines (53 loc) · 1.49 KB

resize.md

File metadata and controls

71 lines (53 loc) · 1.49 KB

resize

  • list[meta header]
  • std[meta namespace]
  • list[meta class]
  • function[meta id-type]
void resize(size_type sz);                      // (1) C++11
void resize(size_type sz, const value_type& c); // (2) C++11
void resize(size_type sz, T c = T());           // (1), (2) C++03。C++11で削除

概要

要素数を変更する。

テンプレートパラメータ制約

  • Tがデフォルト構築可能であり、*thisに対してコピー挿入可能であること

効果

szがコンテナの要素数より小さい場合、後ろから超過している要素を削除する。 szがコンテナの要素数より大きい場合、不足している分だけ末尾に要素を挿入する。挿入する要素の値を指定しない場合(つまり1引数版を使用する場合)、値初期化されたT型の値が挿入される。2引数版の場合は、値cのコピーが挿入される。

戻り値

なし

#include <iostream>
#include <list>
#include <algorithm>

int main()
{
  // 増加
  {
    std::list<int> ls = {3, 1, 4};
    ls.resize(5);

    std::for_each(ls.begin(), ls.end(), [](int x) { std::cout << x << std::endl; });
  }
  std::cout << std::endl;

  // 減少
  {
    std::list<int> ls = {3, 1, 4};
    ls.resize(1);

    std::for_each(ls.begin(), ls.end(), [](int x) { std::cout << x << std::endl; });
  }
}
  • resize[color ff0000]
  • ls.begin()[link begin.md]
  • ls.end()[link end.md]

出力

3
1
4
0
0

3