1

我注意到 C++11 中 std::reference_wrapper 的实现,但是,我想知道为什么我应该使用 std::reference_wrapper 而不是“原始”引用变量。

我知道引用包装器是一个可以复制的对象,但是,我为什么要使用它而不是引用?这个功能有什么意义?让我们考虑以下伪代码

class A;

A myA{}; 
A& refMyA = &a;
std::reference_wrapper<A> refWMyA = std::ref(A); 

void foo (const A& aRef) {// do stuff}

void bar (const std::reference_wrapper<A> aRef) {// do stuff}

为什么我更喜欢bar而不是foo

4

0 回答 0