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.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

ZDNet für mobile Geräte
ZDNet-App für Android herunterladen ZDNet-App für iOS

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu C++: Collections und Collection-Bereiche

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *