最終更新日時: 2026年03月30日 18時45分36秒 (JST)
Akira Takahashi が更新

履歴 編集

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

### 処理系

- Clang: 23 ✅
- GCC: 16 ✅
- Visual C++: 2026 Update 2 ❌

## 参照

- P0843R14 `inplace_vector`