std::remove_if紹介


remove_ifはこう理解できる
最初の2つのパラメータ:
反復の開始位置とこの開始位置に対応する停止位置を与えます.たとえば、下の関数のstr.begin()、str.end()
最後のパラメータ:
コールバック関数を入力します.コールバック関数が真に戻った場合、現在のパラメータを末尾(不安定なデータ移動)に移動します.たとえば、下のLambda式でn==find_strこの命題は真則として操作を実行する.
戻り値:
移動される領域の最初の要素iterator
ヘッダファイル
#include 


この関数は削除の責任を負いません.だから彼は普通eraseとペアで現れます
	std::vector<:string> str = { "Name", "1", "2", "3 ", "4", "5", "6", "7", "Name"};
	auto find_str = "Name";
#if 1
	auto sd = std::remove_if(str.begin(), str.end(), [find_str](std::string n) { return n == find_str; });
	str.erase(sd, str.end());
#else
	str.erase(std::remove_if(str.begin(), str.end(), 
		[find_str](std::string n) { return n == find_str; }),
		str.end());
#endif