// write data *reinterpret_cast<value_type*>(in.m_data[in.m_cursor]) = rhs;
// move cursor in.m_cursor += size;
return in; } };
struct iostream : public istream, public ostream { /* ??? */ };
So jetzt ist halt die Frage wie es anstelle von "???" geregelt ist. Wird eine interne Funktion zum initialisieren genutzt wo dann der buffer für alle gesetzt wird oder wie? Vielen Danke schonmal!Dieser Post wurde am 17.09.2008 um 18:15 Uhr von xXx editiert.
Also ich bin jetz vom Programmieren her sicherlich noch nicht so weit wie du, dass ich dir die Frage direkt beantworten könnte, aber vielleicht könntest du doch einfach mal die iostream Header Datei öffnen und so direkt darin nachschaun, wie's gemacht wurde?
Von >ios< wird virtual abgeleitet. >ios< bestimmt den Stream-Puffer. Und operator>> oder operator<< benutzen Put- und Get-Operationen davon. istream und ostream benutzen beide >basic_streambuf<: den gleichen Stream-Puffer.
"ios_base" <-- "ios" "ios" <-- virtual "istream" "ios" <-- virtual "ostream" "istream","ostream" <-- "iostream" -- Wenn man einen Hufschlag hört, sollte man >Pferd< denken und nicht >Zebra<.Dieser Post wurde am 17.09.2008 um 23:14 Uhr von Kest editiert.