我不知道QFile時的行爲,在這種情況下,我真的需要調用QFile :: close()嗎?
bool Class::Function (const QString & name)
{
QFile fp (name);
if (fp.open (QIODevice::ReadOnly))
{
// read file
return false;
}
return true;
}
嗯,它不是像在C(你必須關閉並免費)的文件*指針,這會是一個問題,如果我不叫一個QFile :: close()(它是否在銷燬時自動執行)?
'QFile'繼承'QFileDevice',它的析構函數確實調用了'QFileDevice :: close()'。 – rsht
你說得對。我忘了檢查'QFile'類的繼承鏈。所以在這種情況下不需要調用close()函數。感謝您指出了這一點。 – jonathanzh
現在我看到了使用繼承的另一個缺點:必須將文檔複製到其派生類中,例如'QFileDevice' - >'QFile'。我不確定是否有更好的方法來在繼承鏈中的所有類中提供相同的功能。 – jonathanzh