Quais são alguns usos do decltype (auto)?

Em c ++ 14, odecltype(auto) idioma é introduzido.

Normalmente, seu uso épermitirauto declarações para usar odecltype regras sobre a expressão dada.

Procurando exemplos de uso "bom" do idioma, só consigo pensar em coisas como as seguintes (porScott Meyers), nomeadamente paradedução do tipo de retorno de uma função:

template<typename ContainerType, typename IndexType>                // C++14
decltype(auto) grab(ContainerType&& container, IndexType&& index)
{
  authenticateUser();
  return std::forward<ContainerType>(container)[std::forward<IndexType>(index)];
}

Existem outros exemplos em que esse novo recurso de idioma é útil?

questionAnswers(2)

yourAnswerToTheQuestion