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。 |
Typedef
封裝的參考弱式結果型別。 |
|
包裝之參考的型別。 |
成員函式
取得包裝的參考。 |
運算子
取得指標包裝的參考。 |
|
呼叫包裝的參考。 |
需求
標題: <functional>
命名空間: std