设为首页 加入收藏

TOP

4.3.7 使用向量的成员函数erase()
2013-10-07 14:45:02 来源: 作者: 【 】 浏览:64
Tags:4.3.7 使用 向量 成员 函数 erase

4.3.7  使用向量的成员函数erase()

接下来,程序从主人公的物品栏中移除了一个物品。然而,此次移除的不是处于序列结尾处的物品,而是处于中间的物品。

  1. inventory.erase((inventory.begin() + 2)); 

有一种形式的erase()成员函数可以从向量中移除一个元素。该形式的erase()接受一个实参:引用需要移除元素的迭代器。本例中,传递的实参(inventory.begin() + 2)等于引用inventory中第三个元素的迭代器。于是程序移除了等于"armor"的string对象。因此,所有随后的元素都上移一位。该形式的erase()成员函数返回一个迭代器,它引用移除的元素之后的那个元素。本例中,程序没有将返回的迭代器赋值给任何变量。

陷阱

对向量调用erase()成员函数会使所有引用了移除点之后的元素的迭代器失效,因为所有移除点之后的元素都上移了一位。

接下来,程序显示了向量的内容,证明移除成功。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇4.2.8 使用pop_back()成员函数 下一篇4.3.6 使用向量的成员函数insert()

评论

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