一応補足を。 C++03までのSTLには、std::xxx_if(..., Pred pred)に対応するalgorithm std::xxx(..., T t)が存在して、それはstd::xxx_if(..., std::bind2nd(std::equal_to<T>(), t))と同じことを行うようになっています。 この名前付け規則に従うと、もしstd::copy_if(first, last, result, pred)があるならば、範囲[first, last)についてtと等しいもののみをresult以降にコピーするalgorithm std::copy(first, last, result, t)が必要になってしまいます。こんなalgorithmはナンセンスですし、そもそもstd::copyはすでに普通のコピーをするalgorithmとして存在します。さらに、std::cop