-2
CODE 1コード比較 - 実行時間の点でどちらが優れていますか? 1は、ランタイムの面で優れている
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();
? CODE1では、whileループで不要なループステップを実行できません。一方、CODE2は、whileループが最後に実行されたときに破棄されます(不要なループステップ)。
P.S.-私は、ループの最後のステップを節約するだけで、ランタイムにほとんど差がないことを理解していますが、どちらが優れているのか不思議です。
注:私は学校のためにTurboC++を使用しています。
スピードが気になる場合は、測定する必要があります。 –
インストラクターに教えてください** TurboC++を使用して停止** –
'Object_1'と' Object_2'は同じサイズですか? 'fin ::' std :: istream'の何らかの型ですか? –