Я читал cpp-next , где это min
] представлен как пример того, как подробный код C ++ можно сравнить с кодом python
template
auto min(T x, U y)->decltype(x < y ? x : y)
{ return x < y ? x : y; }
Сначала это выглядит невинно, но Дэвид Вандеворде сделал это замечание
Шаблон min, который использует decltype в своей спецификации типа возвращаемого значения, не работает : Он возвращает ссылку (поскольку аргумент является lvalue), который в большинстве случаев ссылается на локальную переменную.
Я подумал, что не всем может быть понятно, как проявляется проблема. Не могли бы вы дать подробное объяснение и возможные исправления?