Mit C++ Bereiche und Container schreiben und formatieren

Die Standard Template Library (STL) bietet eine elegante Möglichkeit, Werte in STL-Streams zu schreiben. Jeder Typ mit dem überladenen Operator

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.

Themenseiten: Anwendungsentwicklung, Software

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

ZDNet für mobile Geräte
ZDNet-App für Android herunterladen Lesen Sie ZDNet-Artikel in Google Currents ZDNet-App für iOS

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Mit C++ Bereiche und Container schreiben und formatieren

Kommentar hinzufügen

Schreibe einen Kommentar

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