Schreiben und Formatieren von Bereichen und Containern in C++

Wir teilen die oben beschriebene Lösung in mehrere Teilschritte auf, um jeden einzeln zu betrachten:

  • Um Punkt 1 zu erfüllen, stehen uns zwei Funktionen zur Verfügung: range für einen Bereich und container für einen Container.
  • Um Punkt 2 zu erfüllen, benutzen wir ein Writer-Objekt.
  • Um Punkt 3 zu erfüllen, benutzen wir eine Transformation, d.h. einen Funktor bzw. eine Funktion mit zwei Parametern: dem Stream, in den geschrieben wird, und dem Wert, der geschrieben wird. (Anmerkung: Ein Funktor ist ein Objekt, das sich wie eine Funktion verhält. Mit anderen Worten: es besitzt einen überladenen Operator <<.) Die Funktion bzw. der Funktor wird den Wert transformieren und in den Stream schreiben.
  • Punkt 4 wird durch Überladen erfüllt. Wir verfügen über eine Formatter-Funktion, die ausgehend von den gegebenen Parametern bei Bedarf Defaultwerte bereitstellt.

    Außerdem haben wir verschiedene Funktionen, die Objekte zurückgeben, die einen Bereich oder Container schreiben. Für jedes dieser Objekte haben wir den Operator << überladen, der den zugrundeliegenden Bereich oder Container in den Ziel-Stream schreiben wird.

    Zum Beispiel erstellt der folgende Code ein Objekt, das den Container aNames schreiben kann. Der Operator << wird auf dieses angewandt, und schreibt dann den Container aNames in std::cout.

    
    typedef std::list< std::string> StringsArray;
    StringsArray aNames;
    aNames.push_back( "John");
    aNames.push_back( "James");
    aNames.push_back( "Corina");
    // will print the array of names
    std::cout << container( aNames) << std::endl ;
    
    

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Vorinstallierte Schadsoftware auf IoT-Geräten

Mit dem Internet verbundene Digitale Bilderrahmen oder Mediaplayer können mit Schadsoftware infiziert werden und sind…

6 Tagen ago

iOS und iPadOS 18.2 beseitigen 21 Sicherheitslücken

Schädliche Apps können unter Umständen einen Systemabsturz auslösen. Mindestens eine Anfälligkeit erlaubt eine Remotecodeausführung.

7 Tagen ago

Top-Malware im November: Infostealer Formbook bleibt Nummer 1

Sein Anteil an allen Infektionen steigt in Deutschland auf 18,5 Prozent. Das Botnet Androxgh0st integriert…

7 Tagen ago

Google schließt schwerwiegende Sicherheitslücken in Chrome

Betroffen sind Chrome 131 und früher für Windows, macOS und Linux. Angreifer können unter Umständen…

7 Tagen ago

Data Analytics: Dienstleister wachsen zweistellig

Marktforscher Lündendonk erwartet für das Jahr 2025 ein durchschnittliches Umsatzwachstum von 14,9 Prozent.

1 Woche ago

Open-Source-Malware auf Rekordniveau

Alarmierender Anstieg von Open-Source-Malware / Seit 2019 haben Sonatype-Analysen mehr als 778.500 bösartige Pakete aufgedeckt

1 Woche ago