Por que std :: transform não garante o pedido (mas for_each garante o pedido)? Isso não permite a implementação de truques para o desempenho?

Acabei de perceber que o padrão não garante a ordem de aplicação de retorno de chamada de função emstd::transform. E não permite que a função de retorno de chamada ou o functor tenham efeito colateral. mas ao mesmo tempostd::for_each realmente garantir o pedido.

Um palpite é que a transformação pode usar algoritmo de alto desempenho que não garante a ordem, mas O (N) já é o melhor algoritmo.

Então, por que o padrão não faz otransform tem o comportamento comofor_each a partir da exibição de aplicar a ordem de função de retorno de chamada? O usuário se beneficiará dessa garantia.

questionAnswers(3)

yourAnswerToTheQuestion