最終更新日時: 2026年02月17日 23時22分33秒 (JST)
Akira Takahashi が更新

履歴 編集

function
<list>

# std::list::resize

    void resize(size_type sz);           // (1) C++11
    constexpr void resize(size_type sz); // (1) C++26

    void resize(size_type sz, const value_type& c);           // (2) C++11
    constexpr void resize(size_type sz, const value_type& c); // (2) C++26

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

### 出力

    3
    1
    4
    0
    0

    3

## 参照

- P3372R3 constexpr containers and adaptors