Datei-Zugriff: Vorteil des Stream-Ansatzes

Bevor wir uns ausführlicher mit der Technik der Datei-Ein-/Ausgabe beschäftigen wollen, soll an dieser Stelle auf eine Besonderheit dieses Ansatzes eingegangen werden. Diese ergibt sich direkt aus der Tatsache, daß es sich bei der Datei um ein Objekt einer bestimmten Klasse handelt.

Es gibt nämlich einen nicht zu unterschätzenden Vorteil des Stream-Mechanismus gegenüber dem des traditionellen Dateizugriffs in C oder Pascal: da es sich bei den Dateien um Objekte einer Klasse handelt (s.o.), besitzen sie einen Konstruktor bzw. Destruktor.
Und damit kann man erreichen, daß die Dateien beim Deklarieren der Objekte automatisch erzeugt und beim Zerstören automatisch geschlossen werden! Die Konstruktoren und Destruktoren der obigen Klassen sind dementsprechend implementiert.
D.h. um das eigentliche Öffnen und Schließen braucht man sich nun nicht mehr explizit zu kümmern, man fordert einfach ein Objekt der entsprechenden Klasse an. Sobald der Gültigkeitsbereich des Objektes verlassen wird, wird der Destruktor aufgerufen und damit die Datei automatisch geschlossen.

Nun kann es natürlich sein, daß man odch einmal eine Datei explizit schließen möchte, bevor man den Gültigkeitsbereich verläßt. Zu diesem Zweck steht die Elementfunktion close() zur Verfügung.