最終更新日時(UTC):
が更新

履歴 編集

function
<forward_list>

std::forward_list::resize(C++11)

void resize(size_type sz);                        // (1)
void resize(size_type sz, const value_type& c);   // (2)

概要

要素数を変更する

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

  • (1)
    • C++14まで : 型Tデフォルト構築可能であること
    • C++17から : 型T*thisに対してデフォルト挿入可能であること
  • (2) : 型T*thisに対してコピー挿入可能であること

効果

szがコンテナの要素数より小さい場合、後ろから超過している要素を削除する。

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

戻り値

なし

#include <iostream>
#include <forward_list>
#include <algorithm>

int main()
{
  // 増加
  {
    std::forward_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::forward_list<int> ls = {3, 1, 4};
    ls.resize(1);

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

出力

3
1
4
0
0

3

バージョン

言語

  • C++11

処理系

参照