设为首页 加入收藏

TOP

4.2.6 向量的索引
2013-10-07 14:44:36 来源: 作者: 【 】 浏览:49
Tags:4.2.6 向量 索引

4.2.6  向量的索引

接下来,程序显示了主人公的全部物品。

  1. cout << "\nYour items:\n";  
  2. for (unsigned int i = 0; i < inventory.size(); ++i)  
  3. {  
  4. cout << inventory[i] << endl;  
  5. }  

正如数组一样,可以通过下标运算符对向量进行索引。实际上,上面的代码和原始Hero's Inventory程序中的代码几乎一模一样。唯一的区别在于,此处使用inventory.size()来指定循环终止的时刻。注意,循环变量i是unsigned int型,因为size()的返回值是无符号整型。

接下来,程序替换了主人公的第一个物品。

  1. inventory[0] = "battle axe"; 

还是和数组一样,此处使用下标运算符为已存在元素的位置赋予新的值。

陷阱

尽管向量是动态的,但不可以使用下标运算符增加向量的大小。例如,下面的代码非常危险,并且无法增加向量inventory的大小:

  1. vector<string> inventory; //creating an empty vector  
  2. inventory[0] = "sword"; //may cause your program to crash! 

正如数组一样,可以尝试访问不存在的元素位置,但这有潜在的灾难性后果。上面的代码更改了计算机内存中的某个未知部分,可能导致程序崩溃。如果要在向量的最后添加新元素,请使用push_back()成员函数。
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇4.3.3 循环访问向量 下一篇4.4.4 使用random_shuffle()算法

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: