Im Wesentlichen wendet std::transform eine Funktion (z.B. Lambda-Funktion) auf jedes Element eines Bereichs (Container) an,
um mit den Rückgabewerten dieser Funktion einen neuen Container zu füllen:
Abbildung 1: std::transform auf einem Bereich.
Hinweis: Für das Befüllen des neuen Containers (das Ergebnis der „Transformation”)
benötigt man in jedem Fall eine Komfortfunktion, um mit den anfänglich leeren Containern
richtig umzugehen! Für std::vector-Objekte bietet sich die std::back_inserter-Funktion an,
für std::map-Objekte die std::inserter Funktion,
siehe hierzu auch den Quellcode des Beispiels.
Die Funktion std::transform hat eine zweite Überladung, die zwei Bereiche entgegennimmt und
auf jedes Paar von zwei Elementen, die aus den beiden Eingabebereichen stammen, eine Funktion anwendet,
um mit dem Resultatwert wiederum einen weiteren Container zu befüllen:
Abbildung 2: std::transform auf zwei Bereichen.