ホームページ >バックエンド開発 >C++ >C でインデックスによって std::vector から要素を削除する方法

C でインデックスによって std::vector から要素を削除する方法

DDD
DDDオリジナル
2024-12-11 20:57:15198ブラウズ

How to Remove an Element from a std::vector by Index in C  ?

インデックスによる std::vector からの要素の消去

C では、std::vector を操作するときに、インデックスによる要素の削除が必要な場合。

次のようなシナリオを考えてみましょう。整数のベクトルであり、n 番目の要素を削除する必要があります。

解決策:

位置 n にある単一の要素を削除するには、単純に std::erase を使用します。目的の位置へのイテレータ。その方法は次のとおりです。

std::vector<int> vec;

vec.push_back(6);
vec.push_back(-17);
vec.push_back(12);

// Deletes the second element (vec[1])
vec.erase(std::next(vec.begin()));

std::next(vec.begin()) は 2 番目の要素への反復子を返し、その後消去されます。

複数の連続する要素を削除するには、イテレータの範囲で Erase を使用します:

// Deletes the second through third elements (vec[1], vec[2])
vec.erase(std::next(vec.begin(), 1), std::next(vec.begin(), 3));

以上がC でインデックスによって std::vector から要素を削除する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。