Wieso ändern Algorithmen nicht direkt die entsprechenden Container?



  • Man übergibt ihnen einfach eine Referenz auf das Objekt und gut. Wieso der Umweg mit back_inserter?


  • Mod

    Was wenn wir vorne einfügen wollen (front_inserter), oder an einer beliebigen Stelle (inserter), oder gar nicht einfügen sondern überschreiben wollen oder noch etwas anderes (man kann noch viel exotischere Sachen machen - z.B. Stride-Iteratoren, die nur jedes n-te Element einer Sequenz anlaufen, nützlich für Matrizen)? Iteratoren sind das geeignete Mittel, jede beliebige Sequenz zu modellieren, das ist der entscheidene Designaspekt hinter diesem Teil der STL. Durch diese Abstraktion ist es erst möglich, von den copy-Algorithmus oder den remove-Algorithmus zu schreiben und nicht eine Unzahl von diesen für jeden einzelnen Spezialfall.


Anmelden zum Antworten