Mit C++ Bereiche und Container schreiben und formatieren

In diesem Artikel wird eine bessere Möglichkeit zur Bereitstellung einer konsistenten Benutzeroberfläche für das Schreiben von Bereichen und Containern in Streams aufgezeigt, mit der sich trotzdem der Operator << verwenden lässt.

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 mit STL-ähnlichen Bereichen funktionieren und das eigentliche Schreiben der Container erleichtern. Das Schreiben von Bereichen bedeutet, dass man mit Hilfe einer [A, A + N]-Sequenz auch C-Arrays schreiben kann (A ist der Array, N ist die Größe dieses Arrays).
  2. in der Lage sein, bei Bedarf jedes Element zu umgeben. Zum Beispiel könnte man ein solches Array schreiben wollen: ‚[John, James, Corina]‘
  3. in der Lage sein, bei Bedarf auf jedes Element eine Umwandlung (Transformation) anzuwenden. Zum Beispiel möchte man die Namen seiner Angestellten schreiben, und die Nachnamen sollen dabei in Großbuchstaben erscheinen: [DOE, John; KEITH James; DYLAN, Richard] Oder man möchte ein Array mit Integern schreiben und dabei den absoluten Wert jedes Elements verwenden.
  4. vernünftige Voreinstellungen für die beiden vorangegangenen Punkte besitzen. Wenn man beispielsweise keine Transformation anwendet, sollte die Standard-Transformation das Element so drucken, wie es auch erscheint (die Identitäts-Transformation)

Durch die Kombination dieser Fähigkeiten erhält man ein leistungsfähiges Werkzeug für das Schreiben von Arrays. Alle, die jetzt noch nicht überzeugt sind, sollten sich die Beispiele am Ende dieses Artikels ansehen.

Page: 1 2 3 4 5

ZDNet.de Redaktion

Recent Posts

Google schließt Zero-Day-Lücke in Chrome

Von ihr geht ein hohes Risiko aus. Angreifbar sind Chrome für Windows, macOS und Linux.

2 Tagen ago

KI erkennt Emotionen in echten Sportsituationen

Forschende des KIT haben ein Modell zur Emotionsanalyse entwickelt, das affektive Zustände ähnlich genau wie…

2 Tagen ago

Ermittlern gelingt weiterer Schlag gegen Ransomware-Gruppe LockBit

Sie decken die Identität des Kopfs der Gruppe auf. Britische Behörden fahnden mit einem Foto…

3 Tagen ago

Apple stellt neuen Mobilprozessor M4 vor

Er treibt das neue iPad Pro mit OLED-Display an. Apple verspricht eine deutliche Leistungssteigerung gegenüber…

4 Tagen ago

Cyberabwehr: Mindestens zwei kritische Vorfälle pro Tag

Davon entfällt ein Viertel auf staatliche Einrichtungen und 12 Prozent auf Industrieunternehmen.

4 Tagen ago

Tunnelvision: Exploit umgeht VPN-Verschlüsselung

Forscher umgehen die Verschlüsselung und erhalten Zugriff auf VPN-Datenverkehr im Klartext. Für ihren Angriff benötigen…

4 Tagen ago