Я только что видел этот действительно приятный разговор Rock Hard: С++ Evolution Борис Джабес. В разделе разговора о программировании на высшем заказе он говорит, что следующее является примером функции, более общей по отношению к ее возвращаемому типу, и приводит к меньшему числу перегрузок функций шаблона
template <typename Func>
auto deduce(const Func & f) -> decltype(f())
{..}
Это может быть реализовано с использованием простого синтаксиса шаблона следующим образом
template <typename Func>
Func deduce(const Func & f)
{..}
поэтому я думаю, что выбранный пример действительно не показывает уникальную мощность decltype
. Может ли кто-нибудь привести пример такого более просветительного использования decltype
?