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

KI-gestütztes Programmieren bringt IT-Herausforderungen mit sich

OutSystems-Studie: 62 Prozent der Befragten haben Sicherheits- und Governance-Bedenken bei Softwareentwicklung mit KI-Unterstützung.

4 Stunden ago

Studie: Ein Drittel aller E-Mails an Unternehmen sind unerwünscht

Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…

3 Tagen ago

HubPhish: Phishing-Kampagne zielt auf europäische Unternehmen

Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…

4 Tagen ago

1. Januar 2025: Umstieg auf E-Rechnung im B2B-Geschäftsverkehr

Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.

4 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome 131

Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…

4 Tagen ago

Erreichbarkeit im Weihnachtsurlaub weiterhin hoch

Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…

5 Tagen ago