7

copy_ifC++ にないのは非常に面倒です。それがC++ 0xになるかどうかは誰にもわかりませんか?

4

3 に答える 3

7

C ++ 0xはまだ完成していないため、最新のドラフトのみを見ることができます。

于 2009-04-27T16:55:10.050 に答える
5

copy_if()それまでの間、以下を使用して独自に作成することはそれほど難しくありませんremove_copy_if()

#include <functional>

struct my_predicate : std::unary_function<my_arg_type, bool> {
    bool operator()(my_arg_type const& x) const { ... }
};

// To perform "copy_if(x, y, z, my_predicate())", write:
remove_copy_if(x, y, z, std::not1(my_predicate()));

を使用not1()するには、述語クラスがネストされた型を提供しargument_type、引数の型を識別する必要があります。上記のように、これを行う便利な方法の1つは、から派生することです。unary_function<T, U>ここTで、は引数の型です。

于 2009-04-28T10:24:29.340 に答える