Каково преимущество STD :: ref и std :: reference_wrapper по сравнению с регулярными ссылками?C++

Программы на C++. Форум разработчиков
Anonymous
Каково преимущество STD :: ref и std :: reference_wrapper по сравнению с регулярными ссылками?

Сообщение Anonymous »

У меня есть несколько вопросов, касающихся этой программы: < /p>

Код: Выделить всё

#include 
#include 
#include 
using namespace std;

template 
void foo (T x)
{
auto r = ref(x);
cout 
false
Я хочу знать, если std :: ref не возвращает ссылку на объект, то что он делает? В основном, в чем разница между: < /p>

Код: Выделить всё

T x;
auto r = ref(x);
< /code>
и < /p>
T x;
T &y = x;
< /code>
Кроме того, я хочу знать, почему это различие существует? Зачем нам нужны std :: ref 
или std :: reference_wrapper , когда у нас есть ссылки (т.е. t & )?

Подробнее здесь: https://stackoverflow.com/questions/332 ... to-regular

Вернуться в «C++»