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

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

DDD
リリース: 2024-12-11 20:57:15
オリジナル
207 人が閲覧しました

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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート