std::reference_wrapper的实例是一个对象,但是会隐式的转换为T&,因此std::reference_wrapper可以作为将把被其包裹类型为参数的函数的实参。【太拗口了,上原文:Instances of std::reference_wrapper are objects (they can be copied or stored in containers) but they are implicitly convertible to T&, so that they can be used as arguments with the functions that take the underlying type by reference.】。如下面的代码中,函数func的参数类型为int,而传递给func的参数确是std::reference_wrapper类型的对象。这个特性是保证reference_wrapper对象可以作为函数实参的关键。 void func(int param){ std::cout << param << std::endl; } int a = 3; std::reference_wrapper<int> ra = a; func(ra);