var*_*ard 7 c++ arrays initialization
可能重复:
在C++中的类初始值设定项中初始化const数组
这是一个新手问题.如何初始化常量整数数组类成员?我认为在相同的情况下经典数组不是最佳选择,我应该使用什么而不是它?
class GameInstance{
enum Signs{
NUM_SIGNS = 3;
};
const int gameRulesTable[NUM_SIGNS][NUM_SIGNS]; // how to init it?
public:
explicit GameInstance():gameRulesTable(){};
};
Run Code Online (Sandbox Code Playgroud)
在C++ 11中,您可以在初始化列表中初始化const数组成员
class Widget {
public:
Widget(): data {1, 2, 3, 4, 5} {}
private:
const int data[5];
};
Run Code Online (Sandbox Code Playgroud)
要么
class Widget {
public:
Widget(): data ({1, 2, 3, 4, 5}) {}
private:
const int data[5];
};
Run Code Online (Sandbox Code Playgroud)
有用的链接:http://www.informit.com/articles/article.aspx?p = 1852519
http://allanmcrae.com/2012/06/c11-part-5-initialization/
让它静止?
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}};
Run Code Online (Sandbox Code Playgroud)