7

定数整数配列クラスのメンバーを初期化する方法は?同じ場合、クラシックアレイは最善の選択ではないと思いますが、代わりに何を使用すればよいですか?

class GameInstance{
    enum Signs{
        NUM_SIGNS = 3;
    };
    const int gameRulesTable[NUM_SIGNS][NUM_SIGNS]; //  how to init it?
public:
    explicit GameInstance():gameRulesTable(){};
};
4

2 に答える 2

7

C++11 では、初期化リストで const 配列メンバーを初期化できました

class Widget {
public:
  Widget(): data {1, 2, 3, 4, 5} {}
private:
  const int data[5];
};

また

class Widget {
    public:
      Widget(): data ({1, 2, 3, 4, 5}) {}
    private:
      const int data[5];
    };

便利なリンク: http://www.informit.com/articles/article.aspx?p=1852519

http://allanmcrae.com/2012/06/c11-part-5-initialization/

于 2012-11-30T13:15:50.337 に答える
6

静的にしますか?

class GameInstance{
    enum Signs{
        NUM_SIGNS = 3};
    static const int gameRulesTable[2][2];
public:
    explicit GameInstance(){};
};

...in your cpp file you would add:
const int GameInstance::gameRulesTable[2][2] = {{1,2},{3,4}};
于 2012-11-30T12:55:59.013 に答える