2015-11-07 38 views
-1

我目前正在用C++制作一个库存系统,而且我遇到了一个问题。我的字符串矢量由三个元素组成:“靴子”,“斗篷”和“剑”,并且有5个元素的限制。我想删除销售物品和其他相关物品的某些元素。成功删除矢量中的某个元素,但想知道它如何影响其他元素,以及如何重新排序矢量?

当删除由下面的代码inventory.erase(inventory.begin())的第一要素剑 - 盘点[0]被删除,但我的问题是,它是如何影响和涉及到另外两个要素 - inventory[1] & inventory[2]

打印库存元素时,第一个打印空白,但其他两个仍然存在于其已分配的元素中。有没有办法重新命令向量,以便inventory[1]变为inventory[0],并且如果删除它,我可以在inventory[0]中添加另一个元素吗?没有任何错误?

预先感谢您!

+0

请发布[MCVE](http://stackoverflow.com/help/mcve)。 – 101010

回答

2

std ::向量擦除成员函数做你想要的。在清除第一个元素inventory.erase(inventory.begin())后,应该只剩下两个元素:库存[0]是“斗篷”,库存[1]是“剑”。