c++でvector内の特定のインデックスを削除する方法は何ですか。
C++では、特定の添え字の要素を削除するために、erase()関数を使用することができます。erase()関数は、削除する要素の位置を指すイテレータを引数として受け取ります。最初の要素のイテレータを取得するためには、vectorのbegin()関数を使用し、そして削除する添え字を加算演算子で追加して、指定位置の要素のイテレータを取得することができます。以下はサンプルコードです:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
int index = 2; // 要删除的下标
// 获取指定下标的元素的迭代器
auto it = vec.begin() + index;
// 删除指定下标的元素
vec.erase(it);
// 输出删除后的vector
for (auto num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
出力結果は、1 2 4 5です。