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
処理系
- Clang: 23 ✅
- GCC: 16 ✅
- Visual C++: 2026 Update 2 ❌