我有数据要分配给结构数组。
有点像你怎么做:
int foo [5] = { 16, 2, 77, 40, 12071 };
为什么这不适合这样的事情:
定义结构类型。
struct Creature {
std::string name;
int x, y;
};
然后是阵列。
const Creature list[NUM_CREATURES] = {
name = "Walrus";
x = 2; y = 6;,
name = "Sardine";
x = 3; y = 1;,
name = "Seahorse";
x = 4; y = 2;,
name = "Jellyfish";
x = 1; y = 10;,
name = Dolphin";
x = 8; y = 4;
}
我将所有这些都放在头文件中。我将此列表定义为常量,因为我将使用这些来填充另一个更大的数组,然后按x和y维的大小对数组进行排序。
答案 0 :(得分:4)
您必须初始化初始化程序中的每个结构。
const Creature list[NUM_CREATURES] = {
{ "Walrus", 2, 6 },
{ "Sardine", 3, 1 },
...
}
通过统一初始化,您无需执行(并且无法做到) name=
/ x=
/ ect