指定の要素をベクトルから削除する方法は何ですか。
C++では、erase()関数を使用してvector内の特定の要素を削除することができます。erase()関数は、削除する要素を指すイテレーターを引数として受け取ります。以下は、vector内の特定の要素を削除する例です:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec {1, 2, 3, 4, 5};
// 删除元素3
for (auto it = vec.begin(); it != vec.end(); ++it) {
if (*it == 3) {
vec.erase(it);
break;
}
}
// 打印删除元素后的vector
for (const auto& num : vec) {
std::cout << num << " ";
}
std::cout << std::endl;
return 0;
}
上のコードでは、ベクトルをイテレータで走査し、削除する要素を見つけたときにerase()関数を呼び出してその要素を削除します。erase()関数を呼び出すと、イテレータが無効になるため、要素を削除した後にbreak文を使用してループを終了します。最後に、削除した要素後のベクトルを出力し、結果は1 2 4 5になります。