Schreiben und Formatieren von Bereichen und Containern in C++

In diesem Artikel wird eine bessere Möglichkeit zur Bereitstellung einer konsistenten Benutzeroberfläche für das Schreiben von Bereichen und Containern in Streams geschildert, mit der trotzdem der Operator << verwendet werden kann.

Betrachten wir zunächst, was eine allgemeine Lösung anbieten sollte. Sie sollte:

  1. in der Lage sein, Bereiche und Container zu schreiben. Die Lösung sollte für STL-ähnliche Bereiche funktionieren und gleichzeitig das Schreiben der Container erleichtern. Das Schreiben eines Bereichs bedeutet, dass man mit Hilfe einer [A, A + N]-Sequenz auch C-Arrays schreiben kann (A ist der Array, N ist die Größe des Arrays).

  2. in der Lage sein, gegebenenfalls jedes Element zu umgeben. Zum Beispiel könnte man folgendes Array schreiben wollen: ‚[John, James, Corina]‘

  3. in der Lage sein, gegebenenfalls eine Umwandlung (Transformation) auf jedes Element anzuwenden. Zum Beispiel möchte man vielleicht die Namen von Angestellten schreiben, wobei die Nachnamen in Großbuchstaben erscheinen sollen: [DOE, John; KEITH James; DYLAN, Richard]. Oder man möchte ein Array aus Ganzzahlen schreiben und dabei den Absolutbetrag jedes Elements verwenden.

  4. angemessene Defaulteinstellungen für die beiden vorangegangenen Punkte aufweisen. Wenn man zum Beispiel keine Transformation anwendet, sollte die Default-Transformation das Element unverändert ausgeben (die Identitäts-Transformation).
    Durch die Kombination dieser Fähigkeiten erhält man ein leistungsfähiges Verfahren für das Schreiben von Arrays. Wer jetzt noch nicht überzeugt ist, sollte sich einmal die Beispiele am Ende dieses Artikels ansehen.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Adobe schließt neun kritische Lücken in Reader und Acrobat

Das jüngste Update bringt insgesamt zwölf Fixes. Schadcode lässt sich unter Umständen ohne Interaktion mit…

4 Stunden ago

Fabrikautomatisierung: Siemens integriert SPS-Ebene

Eine softwarebasierte Workstation soll es Ingenieuren erlauben, sämtliche Steuerungen zentral zu verwalten. Pilotkunde ist Ford.

6 Stunden ago

Ebury-Botnet infiziert 400.000 Linux-Server weltweit

Kryptodiebstahl und finanzieller Gewinn sind laut ESET-Forschungsbericht die vorrangigen neuen Ziele.

17 Stunden ago

Sicherheitslücken in Überwachungskameras und Video-Babyphones

Schwachstellen aus der ThroughTek Kaylay-IoT-Plattform. Dringend Update-Status der IoT-Geräte prüfen.

17 Stunden ago

AWS investiert Milliarden in Cloud-Standort Brandenburg

Fast acht Milliarden Euro fließen in die deutsche Region der AWS European Sovereign Cloud. Das…

21 Stunden ago

Hochsichere Software für Electronic Knee Boards der Bundeswehrpiloten

Im Rahmen der umfassenden Digitalisierung der Bundeswehr ersetzen Electronic Knee Boards die herkömmlichen Handbücher von…

1 Tag ago