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

履歴 編集

function template
<inplace_vector>

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

template <class... Args>
constexpr reference unchecked_emplace_back(Args&&... args); // (1) C++26

概要

容量チェックなしで末尾へ直接構築する。

事前条件

size() < Nであること。この条件を満たさない場合、動作は未定義

効果

std::forward<Args>(args)...から構築した要素を末尾に追加する。

戻り値

追加された要素への参照

計算量

定数時間

備考

この関数は容量チェックを行わないため、emplace_back()よりも高速に動作しうる。呼び出し前に容量に空きがあることが確実な場合に使用する。

#include <print>
#include <inplace_vector>
#include <string>

int main()
{
  std::inplace_vector<std::string, 3> iv;

  iv.unchecked_emplace_back("hello");
  iv.unchecked_emplace_back(3, 'a');

  for (const auto& s : iv) {
    std::println("{}", s);
  }
}

出力

hello
aaa

バージョン

言語

  • C++26

処理系

参照