C++: Collections und Collection-Bereiche

Wie oben geschildert, wird die Transformation nun auf das Paar [key, value] angewandt. Entsprechend funktioniert der in Listing A gezeigte Code.

Meistens ist diese Vorgehensweise jedoch zu umständlich. Zur Vereinfachung ist in Tabelle B ein Format-String dargestellt, der die Position von key und value festlegt. Beachten Sie, dass %k den Schlüssel und %v den Wert angibt.

std::cout << coll_container( collWords,
formatter( coll_transform( „%k -> %v“), „n“));
will write:

collections -> 12
easily -> 3
write -> 5

std::cout << coll_container( collWords,
formatter( coll_transform( „Key: %k, Value: %v“), „n“));
will write:

Key: collections, Value: 12
Key: easily, Value: 3
Key: write, Value: 5

std::cout << coll_container( collWords,
formatter( coll_transform( „[%k] -> [%v]“), „n“));
will write:

[collections] -> 12
[easily] -> 3
[write] -> 5

std::cout << coll_container( collWords,
formatter( coll_transform( „Word ‚%k‘ appeared %v time(s).“), „n“));
will write:

Word ‚collections‘ appeared 12 time(s)
Word ‚easily‘ appeared 3 time(s)
Word ‚write‘ appeared 5 time(s)

Tabelle B: Beispiele für Codes und ihren Output

Als ein weiterer Pluspunkt muss man nicht sowohl key als auch value schreiben, wie folgender Ausschnitt zeigt:


// will write only the keys
std::cout << coll_container( collWords, formatter
( coll_transform( "%k")));
// will write only the values
std::cout << coll_container( collWords, formatter
( coll_transform( "%v")));

Die Funktion coll_transform kann wie folgt verwendet werden:

  • coll_transform( strFormat) wendet die Transformation strFormat auf jedes Paar [key, value] in der Collection an.
  • coll_transform( strFormat, transformer) wendet die Transformation strFormat auf jedes Paar [key, value] in der Collection an. Der Transformer wird vor dem Schreiben von string/key/value angewandt. Ein Beispiel für einen Transformer ist die Klasse KeyToUpper, die wir in Kürze vorstellen werden.

Page: 1 2 3 4

ZDNet.de Redaktion

Recent Posts

Ymir: Ransomware mit ausgeklügelter Verschleierung

Ymir nutzt fortschrittliche Verschleierungsmethoden. Sie verschlüsselt bestimmte Dateien auf einer Whitelist nicht, um einer Entdeckung…

4 Tagen ago

Fünf auf einen Streich: Baseus Nomos 5-in-1 Desktop Charger Qi2 140W

Das weltweit erste 5-in-1-Tischladegerät mit kabelloser Qi2-Aufladung und einziehbarem Kabel.

4 Tagen ago

RansomHub hebt Datenerpressung auf höhere Stufe

RansomHub kann per Fernverschlüsselung über ein einziges ungeschütztes Endgerät Daten im gesamten Netzwerk verschlüsseln.

4 Tagen ago

Shokz OpenRun Pro 2: Die perfekte Kombination aus Knochenschall und Air-Conduction Technik

Die neuen OpenRun Pro 2 von Shokz sind die neueste Weiterentwicklung der beliebten offenen Sportkopfhörer.…

6 Tagen ago

UPDF: PDF-Software zu einem Viertel des Preises von Adobe

PDF-Bearbeitungssoftware jetzt im Black Friday Sale mit 50 Prozent Rabatt!

7 Tagen ago

Neuer Bedarf an Workplace Services durch DEX und KI

ISG untersucht deutschen Workplace-Services-Markt. Digital Employee Experience (DEX) gilt als Schlüssel für neues Wachstum.

7 Tagen ago