3.4.2 创建数组
将数组中元素的个数定义为常量是个不错的想法。程序就使用了MAX_ITEMS来表示主人公所能携带的最大物品数目。
- const int MAX_ITEMS = 10;
声明数组的方法和声明已见过的变量的方式非常类似:提供一个类型和一个名称。另外,编译器必须知道数组的大小,这样才能预留出需要的内存空间。数组大小的信息可以用方括号括起来,然后置于数组名之后。下面给出声明表示主人公物品栏的数组的方式:
- string inventory[MAX_ITEMS];
上面代码声明了一个大小为MAX_ITEMS的string对象数组inventory(因为MAX_ITEMS为10,所以表示10个string对象)。
陷阱
声明数组的时候,可以通过提供一个初始值列表来对数组进行初始化。初始值列表是用花括号括起来的元素序列,其中元素用逗号隔开。如下例所示:
- string inventory[MAX_ITEMS] = {"sword", "armor", "shield"};
这段代码声明了大小为MAX_ITEMS的string对象数组inventory。数组的前3个元素初始化为"sword"、"armor"和"shield"。
如果在使用初始值列表的时候忽略元素个数,那么创建的数组大小就等于列表中元素的个数。下面给出一个例子:
- string inventory[] = {"sword", "armor", "shield"};
因为初始值列表中有3个元素,因此这行代码创建了一个大小为3的数组inventory,其中元素是"sword"、"armor"和"shield"。