Шаблон функции принимает только значения rC++

Программы на C++. Форум разработчиков
Anonymous
Шаблон функции принимает только значения r

Сообщение Anonymous »

Написать функцию, принимающую только l-значения, достаточно просто

template
void f(T&);


но из-за универсальных ссылок написать код, который принимает только ссылки rvalue, непросто. Есть ли способ написать общую функцию, которая принимает только ссылки rvalue? (тип возвращаемого значения на самом деле не имеет значения)

template
void only_rvals(T&&);


где

int i{};
only_rvals(i); // fails to compile
only_rvals(6); // successfully compiles


Подробнее здесь: https://stackoverflow.com/questions/242 ... ng-rvalues

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