Article View: de.comp.lang.c++
Article #1644Re: IOSTREAM.H
From: Dietmar Kuehl
Date: Fri, 16 Feb 1996 18:40
Date: Fri, 16 Feb 1996 18:40
37 lines
2075 bytes
2075 bytes
Hi,
Jochen Diener (j.diener@hit.handshake.de) wrote:
: Noch etwas Background, schoene gruesse an den Kursleiter.
: cout ist ein Objekt der Klasse ostream_withassign, und wird waehrend der
^^^^^^^^^^^^^^^^^^
Diese Klasse gibt es nach dem DWP nicht mehr. Wenn man einen Stream
umleiten will, dann muss man, mit einer Standard konformen
Implementation von IOstreams 'rdbuf()' verwenden:
void f(ostream &rep)
{
cout.rdbuf(rep.rdbuf());
}
: Vielleicht baut ihr am besten im Kurs ein Arrayklasse die ihr ueber euren
: eigenen stream ausgebt, dann kannst du es.
Da die Implementation einer (guten, sicheren) Arrayklasse weit entfernt
von einfach ist, wuerde ich davon abraten, eine Arrayklasse in einem
C++-Kurs zu implementieren. Ausserdem braucht man fuer eine sinnvolle
Arrayklasse einige "advanced C++ features" wie 'raw-memory' anlegen,
'placement new' und explizite Destruktoraufrufe.
: Ein Beispiel, das das Problem vielleicht noch etwas verdeutlicht und zum
: Testen animieren soll:
: ofstream myOut(0); //stdout
: istream myIn(1); //stdin
... ist nicht portabel: Es gibt fuer 'ofstream()' nach DWP keinen
Konstruktor, der einen 'int' als Argument bekommt. Und 'myIn' soll
vermutlich ein Objekt der Klasse 'ifstream' sein... Aber auch das ist
unportable, funktioniert aber wenigstens mit einigen Libraries.
--
dietmar.kuehl@uni-konstanz.de
http://www.informatik.uni-konstanz.de/~kuehl
I am a realistic optimist - that's why I appear to be slightly pessimistic
Technical Details
Message-ID:
<3124cfa0.0@news.uni-konstanz.de>Path:
arc1-ca.pugleaf.net!news.uni-konstanz.de!uzwil!kuehlReferences:
<62mRM9kpa8B@gumption.ruhr.de> <62tXlkEd6JB@hit028.hit.handshake.de>Show Full Headers
Complete Article Headers
From: kuehl@uzwil.informatik.uni-konstanz.de (Dietmar Kuehl) Subject: Re: IOSTREAM.H Newsgroups: de.comp.lang.c++ References: <62mRM9kpa8B@gumption.ruhr.de> <62tXlkEd6JB@hit028.hit.handshake.de> Organization: Fakultät für Mathematik und Informatik Reply-To: dietmar.kuehl@uni-konstanz.de Distribution: world X-Newsreader: TIN [version 1.2 PL2] NNTP-Posting-Host: uzwil.informatik.uni-konstanz.de Message-ID: <3124cfa0.0@news.uni-konstanz.de> Date: 16 Feb 96 18:40:32 GMT Path: arc1-ca.pugleaf.net!news.uni-konstanz.de!uzwil!kuehl