指定した添え字の要素をvectorから削除する方法は何ですか?
C++では、erase()関数を使用して、指定された添字の要素をベクトルから削除することができます。erase()関数は、削除する要素を指すイテレータを引数として受け取り、その要素を削除し、次の要素を指すイテレータを返します。
ベクターの要素をインデックスで指定して削除する例を以下に示します:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec = {1, 2, 3, 4, 5};
int index = 2; // 要删除的元素下标
if (index >= 0 && index < vec.size()) {
vec.erase(vec.begin() + index); // 删除指定下标的元素
} else {
std::cout << "Invalid index." << std::endl;
}
// 输出修改后的 vector 元素
for (int i : vec) {
std::cout << i << " ";
}
std::cout << std::endl;
return 0;
}
コードの最初に、まず vector 配列 vec を定義し、削除する要素のインデックスを2に指定します。その後、erase() 関数を使用して指定されたインデックスの要素を削除し、変更後の vector 要素を出力するために反復処理します。最終的な結果は 1 2 4 5 になります。