Dlaczego std :: transform nie gwarantuje zamówienia (ale dla każdego może zagwarantować zamówienie)? Czy to nie umożliwia implementacji sztuczki dla wydajności?

Po prostu zdaję sobie sprawę, że standard nie gwarantuje kolejności stosowania wywołania zwrotnego funkcjistd::transform. I nie pozwala na wywołanie zwrotne funkcji lub funktora. Ale w tym samym czasiestd::for_each faktycznie gwarantuję zamówienie.

Można zgadnąć, że transformacja może wykorzystywać algorytm wysokiej wydajności, który nie gwarantuje porządku, ale O (N) jest już najlepszym algorytmem.

Dlaczego więc standard nie zapewniatransform zachowuj się jakfor_each z widoku zastosowania kolejności funkcji zwrotnych? Użytkownik skorzysta z tej gwarancji.

questionAnswers(3)

yourAnswerToTheQuestion