Skip to content

Latest commit

 

History

History
38 lines (23 loc) · 1.22 KB

File metadata and controls

38 lines (23 loc) · 1.22 KB

Algorithmus std::transform

Zurück


Quellcode


Allgemeines

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.


Zurück