Klasse mit fester Elementvariable oder nicht
-
Schätzungsweise, ich schreibe mir eine Klasse Streamwork. In ihr gibt es 2 Methoden:
write_binary;
read_binary;Und einen Konstruktor dem man einen Dateinamen übergeben kann.
Was wäre nun schneller, wenn ich eine Elemenvariable "fstream m_stream" habe, das ich gleich im Konstruktor definiere, und ich anschließend mit "write_binary" und "read_binary" drauf zugreife und fröhlich in die / aus der jeweilige/n Datei reinschreiben / auslese.
Oder wenn ich die Elementvariable "fstream m_stream" nicht habe, und in "write_binary" u. "read_binary" bei jedem neuen Methoden aufruf ein fstream Objekt innerhalb der Elementfunktion erstelle und damit arbeite.Was ist schneller? Das erste oder das zweite (ich geh mal vom ersten aus)? Wie würdet ihr es machen?
MfG
Stromberg
-
Das erste selbstverständlich. Öffnen braucht Zeit. Allerdings hast du bei einer solchen Implementierung das Problem, dass du auf das Kopieren der Objekte verzichten musst.