std::remove_copy
template <class InputIterator, class OutputIterator, class T>
OutputIterator remove_copy (InputIterator first, InputIterator last,
OutputIterator result, const T& val);
コピー範囲除去値、ヴァルに等しいとそれらの要素 以外結果から始まる範囲の範囲 [最初、最後)にコピー要素。結果を保持するには、出力コンテナのサイズが に十分大きくなければなりません。のSTLのstd ::
q1。 なぜ出力コンテナのサイズは結果を保持するのに十分な大きさでなければなりませんか?コンテナ自体は成長していないでしょうか?
q2。 remove_copyを実行すると、出力コンテナ内の前のコンテンツが上書きされるのはなぜですか?すなわち私がremove_copy(a.begin(),a.end(),b.begin(),' ');
を実行したときコンテナ内の前のコンテンツが失われ、新しいコンテンツに置き換えられます。なぜそうですか? remove_copyの結果が出力コンテナの先頭に追加されないのはなぜですか?
この関数は、STLコンテナクラスおよび生の配列で機能するように設計されています。 – user0042
コンテナを拡大したい場合は、['std :: back_inserter'](http://en.cppreference.com/w/cpp/iterator/back_inserter)を使用してください。 –