В С++ 14 введена идиома decltype(auto)
.
Обычно его использование заключается в разрешать объявления auto
использовать правила decltype
для данного выражения.
Ищем примеры "хорошего" использования идиомы, я могу думать только о вещах вроде следующего (Scott Meyers), а именно для вывода типа возвращаемого типа:
template<typename ContainerType, typename IndexType> // C++14
decltype(auto) grab(ContainerType&& container, IndexType&& index)
{
authenticateUser();
return std::forward<ContainerType>(container)[std::forward<IndexType>(index)];
}
Есть ли другие примеры, в которых эта новая языковая функция полезна?