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

履歴 編集

function template
<vector>

std::vector::append_range(C++23)

template <container-compatible-range<T> R>
constexpr void append_range(R&& rg); // C++23

概要

Rangeの要素を末尾へ追加する。

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

T*ranges::begin(rg)からvectorコンテナへのEmplaceConstructibleかつMoveInsertableであること。

効果

Rangergの各要素を、末尾に追加する。

戻り値

なし

計算量

要素を追加した後のsize()が要素を追加する前のcapacity()よりも大きい場合は領域の再確保が生じ、要素を追加した後のsize()に比例する。領域の再確保が発生しない場合は、ranges::distance(rg)に比例する。

#include <iostream>
#include <vector>

int main()
{
  std::vector<int> v = {1, 2, 3};
  const int a[3] = {4, 5, 6};

  // Rangeを末尾に追加
  v.append_range(a);

  for (int i : v) {
    std::cout << i << " ";
  }
  std::cout << std::endl;
}

出力

1 2 3 4 5 6 

関連項目

名前 説明
push_back 末尾へ要素追加
emplace_back 末尾へ直接構築