array


概要

固定長の配列を提供するクラスである。通常の配列と互換であり、加えて配列長の取得やアクセス系の関数が幾つか定義され、vectorと同じ感覚で使用できる。 {r|c}begin(), {r|c}end(), at(), size(), operator[], front(), back()などのアクセス関数が利用できる。 また、同じ値で埋めるfill(), 配列の中身を交換するswap()も定義されている。 通常の配列と互換であるため、メモリは連続して確保される。よって、&a[n] == (&a[0] + n)が保証されている。(0 <= n <= array.size())

C++11以降では、通常の配列と置き換えて使用することが想定されている。

本節で解説する機能を使用するには、ヘッダファイル arraryをインクルードする。

以下に使用方法を示す。

#include <array>

class X {
public:
    X() : x(0) {}           // 初期値
    X(int a) : x(a) {}
    int x;
};

int main() {
    std::array<int, 5> arr = {1, 2};        // 足りない要素は型の初期値が使用される

    int sum = 0;
    for(auto& v : arr) {
        std::cout << v << ",";
        sum += v;
    }
    std::cout << std::endl;

    for (int i=0; i < arr.size(); i++) {
        std::cout << arr[i] << ",";         // 添字アクセスも可能
    }

    std::array<X, 8> xarr = {1, 2, 3, 4};   // ユーザ定義型も使用可能
}

results matching ""

    No results matching ""