最終更新日時: 2025年07月12日 02時16分44秒 (JST)
Koichi Murase が更新

履歴 編集

<array>

# std::array::初期化(C++11)

    namespace std {
      template <class T, size_t N >
      struct array {
        T elems[N]; // public。変数名は実装依存。

        // コンストラクタの定義なし
      };
    }

## 概要

`array`クラスは、固定長配列のコンテナである。静的に決定される要素数を持ち、組み込み配列のラッパーとして実装される。

`array`クラスは`public`な配列メンバ変数を持ち、非トリビアルなコンストラクタを提供しない。そのため、`array`は集成体の要件を満たす。これにより、`array`クラスは組み込み配列と同様の初期化構文を使用して初期化を行うことができる。

## 例

    #include <iostream>
    #include <array>

    int main()
    {
      // int型を3要素持つ配列型オブジェクトの初期値を設定
      std::array<int, 3> ar = {1, 2, 3};

      for (std::size_t i = 0; i < ar.size(); ++i) {
        std::cout << ar[i] << std::endl;
      }
    }

### 出力

    1
    2
    3

## バージョン

### 言語

- C++11

### 処理系

- Clang: ??
- GCC: 4.7.0 ✅
- ICC:
- Visual C++: 2008 (std::tr1) ✅, 2010 ✅, 2012 ✅

## 参照