STL ベクトルから特定の値を持つ要素を効率的に削除する
STL ベクトルから特定の値を持つ項目を削除することは、一般的な操作として表示される場合があります。ただし、ベクター クラスにはこのタスクのための専用メソッドがありません。ただし、std::remove アルゴリズムとcontainer_type::erase メソッドを使用した効果的な回避策が存在します。
std::remove は、項目を直接削除するのではなく、保持される要素をコンテナーの先頭の方に移動します。ベクター。次に、これらの再配置された要素の直後の要素を指す反復子を返します。このイテレータをcontainer_type::eraseに渡すことで、ベクトルの終端にある無関係な要素を迅速に削除できます。
コードの例を次に示します。
std::vector<int> vec; // Populate 'vec' with data... const int target_value = n; auto erase_result = std::remove(vec.begin(), vec.end(), target_value); vec.erase(erase_result, vec.end()); // Remove relocated elements
このアプローチでは、効率的に識別し、指定された基準を満たす要素を削除し、ベクトル操作プロセスをより合理化します。
以上がSTL ベクトルから特定の値を持つ要素を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。