reference_wrapper Class

包装的引用。

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
    };

备注

A reference_wrapper<Ty>副本,构造和赋值,并且指针指向类型的对象的Ty。

专用化reference_wrapper<Ty>派生自std::unary_function<T1, Ret> (因此定义嵌套的类型result_type是同义词作为Ret和嵌套的类型argument_type是同义词作为T1) 仅当类型Ty是:

函数类型或指向函数采用一个参数的类型的类型T1和返回Ret。 或

指向成员函数的Ret T::f() cv,其中cv表示该成员函数的 cv 限定符。 the type T1 is cvT*; 或

从派生类类型unary_function<T1, Ret>。

专用化reference_wrapper<Ty>派生自std::binary_function<T1, T2, Ret> (因此定义嵌套的类型result_type是同义词作为Ret、 嵌套类型first_argument_type是同义词作为T1,和嵌套的类型second_argument_type是同义词作为T2) 才类型Ty是:

函数类型或指向函数采用两个参数的类型的类型T1和T2和返回Ret。 或

指向成员函数的Ret T::f(T2) cv,其中cv表示该成员函数的 cv 限定符。 the type T1 is cvT*; 或

从派生类类型binary_function<T1, T2, Ret>。

Bb982605.collapse_all(zh-cn,VS.110).gif构造函数

reference_wrapper::reference_wrapper

构造 reference_wrapper

Bb982605.collapse_all(zh-cn,VS.110).gifTypedef

reference_wrapper::result_type

弱造成被包装的引用的类型。

reference_wrapper::type

被包装的引用的类型。

Bb982605.collapse_all(zh-cn,VS.110).gif成员函数

reference_wrapper::get

获取被包装的引用。

Bb982605.collapse_all(zh-cn,VS.110).gif运算符

reference_wrapper::operator Ty&

获取一个指针,该包装的引用。

reference_wrapper::operator()

调用包装的引用。

要求

标题: <functional>

命名空间: 标准

请参见

参考

cref Function

ref Function

其他资源

functional 成员