terça-feira, 19 de agosto de 2014

Saiu ontem o spec do C++14, agora está liberado usar função que retorna auto!

https://isocpp.org/blog/2014/08/we-have-cpp14

Se você fizer um template que retorna auto, vira praticamente python :) Compare essas funções que incrementam qualquer coisa:

def incr(x): return x + 1

template<typename T> auto incr(T x) { return x + 1; }

Isso é especialmente atraente quando você quer retornar múltiplos valores, como no Go:

auto get_url(string url) {
  string page;
  bool error;
  return make_pair(page, error);
}

No c++11 a assinatura teria que ser pair<string, bool> get_url(string url) que é redundante, agora o compilador deduz o tipo para você.

Nenhum comentário:

Postar um comentário