Mit C++ Bereiche und Container schreiben und formatieren

Unterteilen wir die oben beschriebene Lösung in mehrere Schritte und untersuchen jeden für sich:

  • Für die Erfüllung von Punkt 1 stehen uns zwei Funktionen zur Verfügung: range für einen Bereich und container für einen Container.
  • Für die Erfüllung von Punkt 2 haben wir ein Writer-Objekt.
  • Für die Erfüllung von Punkt 3 werden wir eine Transformation benutzen – einen Funktor oder eine Funktion, die zwei Parameter annimmt: den Stream, in den geschrieben wird, und den Wert, der geschrieben wird. (Anmerkung: Ein Funktor ist ein Objekt, das sich wie eine Funktion verhält; mit anderen Worten: es verfügt über einen überladenen Operator <<.) Die Funktion bzw. der Funktor wird den Wert transformieren und in den Stream schreiben.
  • Punkt 4 wird durch Überladen erreicht. Wir verfügen über eine Formatter-Funktion, die, basierend auf den jeweiligen Parametern, bei Bedarf Standardwerte bereitstellt.

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

    Der folgende Code erstellt beispielsweise ein Objekt, das den Container aNames schreiben kann. Der Operator << wird darauf angewandt, welcher wiederum den Container aNames in std::cout schreibt.

    
    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.

6 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.

7 Tagen 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