std::istream
den Prototyp hat istream& read (char* s, streamsize n)
die tatsächliche Anzahl der gelesenen Bytes durch den Aufruf istream::gcount()
, auch die Gültigkeit der istream
von ios::good
bekannt sein. Kann erhalten werden solldas Design von std :: istream Verstehen :: read
Ich diskutierte die Implementierung einer anderen Stream-Klasse, die ich versuchte, mit einem Kollegen von mir zu schreiben, wo ich sagte, dass ich diesem Design folgen könnte; aber er sagte, anstatt den Benutzer gcount jedes Mal zu haben, könnte man Prototyp wie dieses istream& read (char* s, streamsize n, size_t &bytes_read)
gelesen haben, so dass es in einem einzigen Anruf überkommen wird und das ehemalige ist unbeholfener. Ich war nicht in der Lage, std
's Design Wahl zu verteidigen. Was ist die wahre Begründung hinter istream::read
?
Meinst du 'size_t & bytes_written'? Und es sollte wahrscheinlich 'streamsize & bytes_written' (oder vielleicht' chars_read') sein. –
@James: Ja, danke! Bytes und Zeichen sind auch _here_, da 'sizeof' das gleiche ist. – legends2k