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 ‚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) |
[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;
OutSystems-Studie: 62 Prozent der Befragten haben Sicherheits- und Governance-Bedenken bei Softwareentwicklung mit KI-Unterstützung.
Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…
Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…
Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.
Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…
Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…