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

R>Как вариант:


R>
R>template<typename T>
R>T& discarding_arg (T&& _tmp = {})
R>{
R>  return std::forward<T&>(_tmp); // До C++23 можно просто "return _tmp;"
R>}

R>void f(int & i) {
R>    i = 0;
R>}

R>int main()
R>{
R>    // Вариантов использования появляется чуть больше:
R>    f(discarding_arg<int>());
R>    f(discarding_arg(42));
R>    g(discarding_arg(std::vector{1, 2, 3}));
R>}
R>


Кстати, да! Вот вариант с параметром по умолчанию мне в голову не пришел. Так получается короче
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.