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

履歴 編集

function
<inplace_vector>

# std::inplace_vector::at(C++26)

    constexpr reference at(size_type n);             // (1) C++26
    constexpr const_reference at(size_type n) const; // (2) C++26

## 概要

境界チェック付きの要素アクセス。

- (1) : 非`const`な文脈で任意の要素への参照を取得する。
- (2) : `const`な文脈で任意の要素への読み取り専用参照を取得する。

## 戻り値

`n`番目の要素への参照を返す。

## 例外

`n >= size()`の場合、`std::out_of_range` 例外を送出する。

## 計算量

定数時間

## 例

    #include <print>
    #include <inplace_vector>
    #include <stdexcept>

    int main()
    {
      std::inplace_vector<int, 5> iv = {3, 1, 4};

      int& x = iv.at(2);
      std::println("{}", x);

      try {
        iv.at(3);
      }
      catch (std::out_of_range& ex) {
        std::println("out of range");
      }
    }

### 出力

    4
    out of range

## バージョン

### 言語

- C++26

### 処理系

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

## 参照

- P0843R14 `inplace_vector`