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;
Salesforce forciert den Ausbau seiner Industry Clouds. Mit ihrem Prozesswissen könnten deutsche IT-Dienstleister davon profitieren.
Bisher unbekannter Bedrohungsakteur versucht über gefälschte IP Scanner Software-Domänen Zugriff auf IT-Umgebungen zu erlangen.
Der Bericht zeigt bereits nutzbare Angriffsanwendungen und bewertet die Risiken, die davon ausgehen.
Deutsche sehen Finanzwesen und IT im Zentrum der KI-Transformation. Justiz und Militär hingegen werden deutlich…
Cubbit ist das weltweit erste Unternehmen, das Cloud-Objektspeicher anbietet. Es wurde 2016 gegründet und bedient…
Unbefugte können Schadcode einschleusen und ausführen. Auslöser ist eine fehlerhafte Implementierung einer Android-Funktion.