Здравствуйте, McSeem2, Вы писали:
MS>Закрывает ли деструктор ifstream открытый файл или его надо закрывать явно, close()?
MS>И главное — ткните меня носом где об этом явно сказано. Почему ни в одном class reference нет такой простой информации? Во всех примерах сказано примерно следующее:
MS>MS> ifstream infile ("test.txt");
MS> while (infile.good())
MS> cout << (char) infile.get();
MS> infile.close();
MS>
MS>Но отсюда не следует, что декструктор не закрывает открытый файл. Не следует и обратного.
27.8.1.2 п.3 гарантирует, что деструктор basic_filebuf вызывает close. А basic_filebuf является членом basic_istream.