最終更新日時(UTC): 2026年02月17日 14時22分33秒
Akira Takahashi が更新

履歴 編集

function
<deque>

# std::deque::get_allocator

    allocator_type get_allocator() const;                    // (1) C++03
    allocator_type get_allocator() const noexcept;           // (1) C++11
    constexpr allocator_type get_allocator() const noexcept; // (1) C++26

## 概要

deque オブジェクトの構築に使われるアロケータオブジェクトを取得する

## 戻り値

アロケータオブジェクト。

メンバ型 `allocator_type` は、この `deque` クラスのインスタンス化に使われるテンプレートパラメータの 2 番目の型（アロケータの型）と同じであるよう定義される。

## 例外

投げない

## 計算量

定数時間

## 備考

noexcept修飾はC++11で追加された。

## 例

    #include <iostream>
    #include <deque>

    int main ()
    {
      std::deque<int> c;
      int* p = c.get_allocator().allocate(2);

      p[0] = 42;
      p[1] = 84;

      std::cout << p[0] << " " << p[1] << std::endl;

      c.get_allocator().deallocate(p, 2);
    }

### 出力

    42 84

## バージョン

### 言語

- C++03
- C++11

### 処理系

- Clang: ?
- GCC: ?
- ICC: ?
- Visual C++: 2002 ✅, 2003 ✅, 2005 ✅, 2008 ✅, 2010 ✅, 2012 ✅, 2013 ✅, 2015 ✅, 2017 ✅
  - 2012, 2013は、`noexcept`が実装されていないため、`throw()`が修飾されている。
  - 2015からは、`noexcept`が修飾されている。

## 参照

- P3372R3 constexpr containers and adaptors