共用方式為


reference_wrapper 類別

包裝參考。

template<class Ty>
    class reference_wrapper
    : public unary_function<T1, Ret>        // see below
    : public binary_function<T1, T2, Ret>   // see below
    {
public:
    typedef Ty type;
    typedef T0 result_type;                 // see below

    reference_wrapper(Ty&);

    Ty& get() const;
    operator Ty&() const;
    template<class T1, class T2, ..., class TN>
        typename result_of<T(T1, T2, ..., TN)>::type
        operator()(T1&, T2&, ..., TN&);

private:
    Ty *ptr; // exposition only
    };

備註

reference_wrapper<Ty> 是可指派的複本可建構,並保留指向 Ty型別物件的指標。

只有當 Ty 型別是,特製化 reference_wrapper<Ty> 衍生自 std::unary_function<T1, Ret> (因此定義巢狀型別 result_type 做為 Ret 的同義字和巢狀型別 argument_type 做為 T1的同義字):

函式的函式型別或指標採用一個型別 T1 之 in 引數和傳回 Ret的型別;或者

對成員函式 Ret T::f() cv的指標, cv 代表成員函式的 cv 限定詞;這個型別的 T1 是 cv 則為 T*;或者

衍生自 unary_function<T1, Ret>的類別型別。

只有當 Ty 型別是,特製化 reference_wrapper<Ty> 衍生自 std::binary_function<T1, T2, Ret> (因此定義巢狀型別 result_type 做為 Ret的同義字,巢狀型別 first_argument_type 做為 T1的同義字和巢狀型別 second_argument_type 做為 T2的同義字):

函式的函式型別或指標採用型別 T1 和 T2 的兩個引數和傳回 Ret的型別;或者

對成員函式 Ret T::f(T2) cv的指標, cv 代表成員函式的 cv 限定詞;這個型別的 T1 是 cv 則為 T*;或者

衍生自 binary_function<T1, T2, Ret>的類別型別。

建構函式

reference_wrapper::reference_wrapper

建構 reference_wrapper

Typedef

reference_wrapper::result_type

封裝的參考弱式結果型別。

reference_wrapper::type

包裝之參考的型別。

成員函式

reference_wrapper::get

取得包裝的參考。

運算子

reference_wrapper::operator Ty&

取得指標包裝的參考。

reference_wrapper::operator()

呼叫包裝的參考。

需求

標題: <functional>

命名空間: std

請參閱

參考

cref 函式

ref 函式

其他資源

<functional> 成員