常量数组类成员初始化
const array class member initialization
如何初始化常量整数数组类成员?我认为在同样的情况下,经典数组不是最佳选择,我应该用什么来代替它?
class GameInstance{
enum Signs{
NUM_SIGNS = 3;
};
const int gameRulesTable[NUM_SIGNS][NUM_SIGNS]; // how to init it?
public:
explicit GameInstance():gameRulesTable(){};
};
在 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/
让它成为静态的?
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}};
相关文章:
- 为什么在C++中首先初始化成员类
- 是否可以防止省略聚合初始化成员?
- 正在复制具有未初始化成员的结构
- 使用大括号或括号初始化成员变量
- C++结构:强制初始化成员?
- C++中未初始化成员布尔变量的默认值是多少?
- 使用默认值初始化成员引用
- 在构造函数中初始化成员时,是否应该在成员上使用 std::move?
- C++使用 { } 初始化成员变量
- 如何根据构造函数参数使用超类类型初始化成员变量?
- OpenGL C++:VBO 的结构包装器不会初始化成员
- 有没有办法在Brace中初始化成员
- 从现有 istream 或类本身创建的 istream 初始化成员 istream
- 从其后声明的另一个成员数据初始化成员数据是否为未定义行为
- 通常应用方法,使用带有构造函数委托的 SFINAE 通过类模板的构造函数初始化成员
- 如何在嵌套类中初始化成员?C
- 是否可以在构造函数主体中初始化成员变量,而不是初始值设定项列表
- 编译器错误,因为构造函数必须显式初始化成员
- 如何使用成员函数初始化成员函数指针
- C 如何使用隐藏的默认构造函数初始化成员