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

履歴 編集

function
<inplace_vector>

std::inplace_vector::resize(C++26)

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

概要

要素数を変更する。

  • (1) : 要素数をszに変更する。増加分は値初期化される。
  • (2) : 要素数をszに変更する。増加分はcのコピーで初期化される。

効果

  • szが現在のsize()より小さい場合、後ろからsize() - sz個の要素を削除する。
  • szが現在のsize()より大きい場合:
    • (1) : sz - size()個の値初期化された要素を追加する。
    • (2) : sz - size()個のcのコピーを追加する。

例外

sz > Nの場合、std::bad_alloc例外を送出する。

戻り値

なし

#include <print>
#include <inplace_vector>

int main()
{
  // 増加
  {
    std::inplace_vector<int, 10> iv = {3, 1, 4};
    iv.resize(5);
    for (int x : iv) std::print("{} ", x);
    std::println("");
  }

  // 減少
  {
    std::inplace_vector<int, 10> iv = {3, 1, 4};
    iv.resize(1);
    for (int x : iv) std::print("{} ", x);
    std::println("");
  }
}

出力

3 1 4 0 0
3

バージョン

言語

  • C++26

処理系

参照