Re[2]: Аналог "discarding _" для С++
От: Went  
Дата: 30.06.25 06:18
Оценка:
Здравствуйте, rg45, Вы писали:

R>Ну как раз вот это и хреново, поскольку самым нормальным решением был бы переход от конкретных типов к концептам.

R>Ну а с озвученными ограничениями:

R>
R>template <typename T>
R>T& lvalue(T&& t) {
R>  return t; // На C++23 не проканает - нужно будет использовать forward<T&>(t)
R>}

R>foo(lvalue(42));
R>


Ничего не понял. У меня задача не получить lvalue из чего угодно, а сгенерировать временный lvalue-объект, уникальный для каждого вызова. То есть, чтобы было что-то наподобие
foo(discard<int>())

Но в идеале без <int> (хотя это вряд ли достижимо без граблей) и с минимальным оверхедом по синтаксису и производительности.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.