std::reference_wrapper<T>::reference_wrapper
来自cppreference.com
                    
                                        
                    < cpp | utility | functional | reference wrapper
                    
                                                            
                    | (1) | ||
|   template< class U > reference_wrapper( U&& x ) noexcept(/*see below*/) ;  | 
(C++20 前) | |
|   template< class U > constexpr reference_wrapper( U&& x ) noexcept(/*see below*/) ;  | 
(C++20 起) | |
| (2) | ||
|   reference_wrapper( const reference_wrapper& other ) noexcept;  | 
(C++20 前) | |
|   constexpr reference_wrapper( const reference_wrapper& other ) noexcept;  | 
(C++20 起) | |
构造新的引用包装。
1) 如同用 T& t = std::forward<U>(x); 转换 
x 为 T& ,然后存储到 t 的引用。此重载只有在 typename std::decay<U>::type 与 reference_wrapper 不是同一类型且表达式 FUN(std::declval<U>()) 为良式时才会参与重载决议,其中 FUN 指名虚构函数集
void FUN(T&) noexcept; void FUN(T&&) = delete;
2) 复制构造函数。存储到 
other.get() 的引用。参数
| x | - | 要包装的对象 | 
| other | - | 另一 reference_wrapper | 
异常
示例
| 本节未完成 原因:暂无示例  | 
缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
| 缺陷报告 | 应用于 | 出版时的行为 | 正确行为 | 
|---|---|---|---|
| LWG 2993 | C++11 |  被删除的 reference_wrapper(T&&) 构造函数在某些情况下干涉重载决议
 | 
替换成构造函数模板 |