已成功删除向量中的一个元素,但想知道它如何影响其他元素以及如何重新排序向量?
Successfully deleted an element in a vector but wondering how it effects the other elements and how can I re order the vector?
我目前正在用 C++ 制作一个小的库存系统,但遇到了问题。我的字符串向量由三个元素组成:'boots'、'cloak' 和一个 'sword',并且有 5 个元素的限制。我想删除某些用于销售物品和其他相关事物的元素。
当通过以下代码删除剑时 inventory.erase(inventory.begin())
第一个元素 - inventory[0] 被删除,但我的问题是它如何影响其他两个元素 - inventory[1]
& inventory[2]
.
打印库存元素时,第一个打印空白,但其他两个仍在其已分配的元素中。有没有一种方法可以重新排序向量,使 inventory[1]
变为 inventory[0]
,如果它被擦除,我可以将另一个元素添加到 inventory[0]
中而不会出现任何错误吗?
提前致谢!
std::vector erase 成员函数做你想做的。擦除第一个元素 inventory.erase(inventory.begin()) 后,应该只剩下两个元素:inventory[0] 是 "cloak" 和 inventory[1] 是 "sword" .
我目前正在用 C++ 制作一个小的库存系统,但遇到了问题。我的字符串向量由三个元素组成:'boots'、'cloak' 和一个 'sword',并且有 5 个元素的限制。我想删除某些用于销售物品和其他相关事物的元素。
当通过以下代码删除剑时 inventory.erase(inventory.begin())
第一个元素 - inventory[0] 被删除,但我的问题是它如何影响其他两个元素 - inventory[1]
& inventory[2]
.
打印库存元素时,第一个打印空白,但其他两个仍在其已分配的元素中。有没有一种方法可以重新排序向量,使 inventory[1]
变为 inventory[0]
,如果它被擦除,我可以将另一个元素添加到 inventory[0]
中而不会出现任何错误吗?
提前致谢!
std::vector erase 成员函数做你想做的。擦除第一个元素 inventory.erase(inventory.begin()) 后,应该只剩下两个元素:inventory[0] 是 "cloak" 和 inventory[1] 是 "sword" .