C++: Collections und Collection-Bereiche

In einem vorangegangenen Artikel wurde dargestellt, wie sich Bereiche und Container beim Schreiben in Standard Template Library (STL)-Streams problemlos formatieren lassen. Das Schreiben von Bereichen ist mit dem Operator << ganz einfach. Durch range( itFirst, itLast [, formatter]) wird ein Bereich geschrieben, durch container( cont [, formatter]) ein Container. Es kann auch ein Formatter angegeben werden, der jedes Element vor dem Schreiben formatiert. Wenn man keinen Formatter angibt, wird ein Default-Formatter verwendet.

Nun werden wir uns ansehen, wie sich Collections und Collection-Bereiche mit der vertrauten Syntax schreiben lassen. Tabelle A enthält Beispiele für das Schreiben einer Collection:

Ausgabe Schreibart
Easily -> 3, collections -> 12, write -> 5 Default
Easily -> 3
collections -> 12
write ->5
Mit Formatter (Custom Transformation und Custom Writer)
[Easily] -> [3];
[collections] -> [12];
[write] -> [5].
Mit Formatter (Custom Transformation und Custom Writer)
Key: Easily, Value: 3;
Key: collections, Value: 12;
Key: write, Value: 5.
Mit Formatter (Custom Transformation und Custom Writer)
Word ‚Easily‘ appeared 3 time(s);
Word ‚collections‘ appeared 12 time(s);
Word ‚write‘ appeared 5 time(s).
Mit Formatter (Custom Transformation und Custom Writer)
Word ‚EASILY‘ appeared 3 time(s);
Word ‚COLLECTIONS‘ appeared 12 time(s);
Word ‚WRITE‘ appeared 5 time(s).
Mit Formatter (Custom Transformation, Custom Transformer und Custom Writer)
[0] Word ‚Easily‘ appeared 3 time(s);
[1] Word ‚collections‘ appeared 12 time(s);
[2] Word ‚write‘ appeared 5 time(s).
Mit Formatter (Custom Transformation, Custom Transformer und Custom Writer)

Tabelle A: Schreiben einer Collection

Bei Collections handelt es sich um assoziative Arrays, die einem Wert (z.B. std::map, std::multipap) einen Schlüssel zuordnen. Da die Collections Container sind, könnte man annehmen, dass die Bereichs-/Container-Funktionen auch für Collections anwendbar sind. Betrachten wir jedoch den folgenden Code:


// try to parse a file, and for each word write how many times
// it appeared in the file
std::map< std::string, int> collWordCounts;
// … code
std::cout << container( collWordCounts) << std::endl;

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Salesforce: Mit Einstein GPT zurück auf die Überholspur?

Salesforce forciert den Ausbau seiner Industry Clouds. Mit ihrem Prozesswissen könnten deutsche IT-Dienstleister davon profitieren.

6 Stunden ago

Neue Backdoor: Bedrohung durch Malvertising-Kampagne mit MadMxShell

Bisher unbekannter Bedrohungsakteur versucht über gefälschte IP Scanner Software-Domänen Zugriff auf IT-Umgebungen zu erlangen.

2 Tagen ago

BSI-Studie: Wie KI die Bedrohungslandschaft verändert

Der Bericht zeigt bereits nutzbare Angriffsanwendungen und bewertet die Risiken, die davon ausgehen.

2 Tagen ago

KI-Wandel: Welche Berufe sich am stärksten verändern

Deutsche sehen Finanzwesen und IT im Zentrum der KI-Transformation. Justiz und Militär hingegen werden deutlich…

2 Tagen ago

Wie ein Unternehmen, das Sie noch nicht kennen, eine Revolution in der Cloud-Speicherung anführt

Cubbit ist das weltweit erste Unternehmen, das Cloud-Objektspeicher anbietet. Es wurde 2016 gegründet und bedient…

3 Tagen ago

Dirty Stream: Microsoft entdeckt neuartige Angriffe auf Android-Apps

Unbefugte können Schadcode einschleusen und ausführen. Auslöser ist eine fehlerhafte Implementierung einer Android-Funktion.

3 Tagen ago