Uma das coisas que apenas o impede de escrever algoritmos básicos no C ++ 11 é a disponibilidade de lambdas em combinação com os algoritmos fornecidos pela biblioteca padrão.
Estou usando esses agora e é incrível quantas vezes você apenas diz o que deseja fazer usando count_if (), for_each () ou outros algoritmos, em vez de precisar escrever os malditos loops novamente.
Depois de usar um compilador C ++ 11 com uma biblioteca padrão completa do C ++ 11, você não tem mais uma boa desculpa para não usar algoritmos padrão para criar os seus . Lambda apenas mate-o.
Por quê?
Na prática (depois de ter usado essa maneira de escrever algoritmos), é muito mais fácil ler algo que é construído com palavras diretas que significam o que é feito do que com alguns loops que você precisa criptografar para saber o significado. Dito isso, deduzir automaticamente os argumentos lambda ajudaria muito a tornar a sintaxe mais facilmente comparável a um loop bruto.
Basicamente, os algoritmos de leitura feitos com algoritmos padrão são muito mais fáceis, pois as palavras escondem os detalhes da implementação dos loops.
Suponho que apenas algoritmos de nível superior precisam ser pensados agora que temos algoritmos de nível inferior para construir.