Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/135.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 比较引用包装器的地址_C++_C++11_Reference Wrapper - Fatal编程技术网

C++ 比较引用包装器的地址

C++ 比较引用包装器的地址,c++,c++11,reference-wrapper,C++,C++11,Reference Wrapper,如何根据两个std::reference\u wrappers的引用进行比较?我想看看两个std::reference_wrappers的引用是否相等 编辑:对不起,我有点困惑。我的意思是如何获取引用对象的地址并进行比较。成员函数get()返回引用元素的引用。然后可以直接获取引用对象的地址 std::addressof(r1.get()) == std::addressof(r2.get()) 成员函数将返回它所持有的引用。然后,可以将两个参照对象与以下对象进行比较: const auto&a

如何根据两个
std::reference\u wrapper
s的引用进行比较?我想看看两个
std::reference_wrapper
s的引用是否相等

编辑:对不起,我有点困惑。我的意思是如何获取引用对象的地址并进行比较。

成员函数
get()
返回引用元素的引用。然后可以直接获取引用对象的地址

std::addressof(r1.get()) == std::addressof(r2.get())
成员函数将返回它所持有的引用。然后,可以将两个参照对象与以下对象进行比较:

const auto& a = ref_a.get();
const auto& b = ref_b.get();
if (a == b) {
    // …
}

当然,上面将对两个对象(如果类型是类类型)调用
操作符==

r1.get()==r2.get()
是否要比较
引用包装器所引用对象的地址(如标题所示),或者比较对象本身是否相等(如问题主体所示)?什么?没有。推荐人没有地址。这里是裁判的地址,我甚至不确定这是否是OP想要的。@LightnessRacesinOrbit对不起,我的措辞很糟糕。我很确定OP想比较地址,因为问题的标题。@LightnessRacesinOrbit我想帮助其中一个他显然不听,否则他仍然不会发布RTFM帮助台问题。