読者です 読者をやめる 読者になる 読者になる

配列メンバ変数の初期化

C++

最近Boostばかりなので、たまにはC++0xの話でも。

C++0xのUniform Initialization(一様初期化)によって、メンバ変数としての配列を、コンストラクタの初期化子リストで初期化できるようになります。
以下、GCC 4.6では動作します。

#include <iostream>

struct X {
    int ar[3];

    X() : ar{1, 2, 3} {}
};

int main()
{
    X x;
    for (int i : x.ar) {
        std::cout << i << std::endl;
    }
}
1
2
3

# このネタ昔書いてました・・・。
# http://d.hatena.ne.jp/faith_and_brave/20070921/1190380809