📅  最后修改于: 2023-12-03 14:51:25.242000             🧑  作者: Mango
如果我们想要删除向量中的元素,可以使用 STL 库中的 erase()
方法。这个方法可以帮助我们从向量中删除指定索引位置的元素,当然也可以删除指定区间的元素。然而,如果我们需要从前面删除元素,则需要使用 erase()
方法的另一种重载形式,它允许我们在向量的开始位置删除元素。下面是一个示例:
#include <iostream>
#include <vector>
int main()
{
std::vector<int> vec{ 1, 2, 3, 4, 5 };
// 删除向量的第一个元素
vec.erase(vec.begin());
//遍历输出剩余的向量元素
for (int i : vec)
std::cout << i << " ";
std::cout << std::endl;
return 0;
}
输出结果为:
2 3 4 5
在上面的示例中,我们使用 vec.erase(vec.begin())
方法删除了向量的第一个元素,即 1。然后我们遍历输出了剩余的向量元素。
值得注意的是,vec.begin()
方法返回了向量的第一个元素的迭代器,因此 vec.erase(vec.begin())
表示删除向量的第一个元素。如果需要删除多个元素,可以使用 vec.erase()
方法的另一个重载形式,它允许我们指定一个区间来删除多个元素。例如,如果我们想要删除前两个元素,则可以使用 vec.erase(vec.begin(), vec.begin() + 2)
。
总之,使用 erase()
方法可以帮助我们删除向量中的元素。如果需要从前面删除元素,则可以使用 vec.erase(vec.begin())
方法,它可以帮助我们删除向量的第一个元素。