Как я могу сравнить два std::reference_wrapper
по ссылкам они держат? Я хочу увидеть, если ссылки двух std::reference_wrapper
равны или нет.
Изменить: Извините от путаницы. Я имел в виду, как получить адреса референтов и сравнить их.
get()
Функция-член возвращает ссылку на указанный элемент. Затем вы можете взять адреса референтов напрямую.
std::addressof(r1.get()) == std::addressof(r2.get())
Функция-член std::reference_wrapper::get
вернет ссылку, которую он держит. Затем вы можете сравнить два указанных объекта с:
const auto& a = ref_a.get();
const auto& b = ref_b.get();
if (a == b) {
// …
}
Вышеуказанное, конечно, вызовет operator==
на двух объектах (если тип является типом класса).