CODE 1Codevergleich - Was ist besser in Bezug auf die Laufzeit?
while(fin.eof()==false) {
fin.read((char*)& Object_2, sizeof(Object_2)); //Reads a record for printing
class_object.display();
fin.read((char*)& Object_2, sizeof(Object_2)); //Reads the next record space for eof detection
if(fin.eof() == true)
break; //Break out of the loop on encountering eof
else
fin.seekg(-signed(sizeof(Object_1)), ios :: cur); //File Pointer Correction
}
CODE 2
while(fin.eof()==false) {
fin.read((char*)& Object_2, sizeof(Object_2)); //Reads a record for printing
if(fin.eof() == true)
break;
else
class_object.display();
Welche ist besser in Bezug auf die Laufzeit? Der CODE1 lässt nicht zu, dass ein unnötiger Schleifenschritt in der While-Schleife ausgeführt wird. Auf der anderen Seite bricht der CODE2 nur, wenn die while-Schleife das letzte Mal ausgeführt wird (unnötiger Schleifenschritt).
P.S.- Ich verstehe, dass sparen auf den letzten Schritt der Schleife kaum einen Unterschied in der Laufzeit macht, aber ich bin nur neugierig, welche besser ist.
HINWEIS: Ich benutze TurboC++ wegen meiner Schule.
Wenn Sie sich für Geschwindigkeit interessieren, müssen Sie es messen. –
Sagen Sie Ihrem Lehrer ** STOP NUTZEN TurboC++ ** –
Haben 'Object_1' und' Object_2' die gleiche Größe? ist 'fin' irgendeine Art von' std :: istream'? –