Я пытаюсь понять, нужно ли мне вызывать close для объекта fstream, если первоначальное открытие не удалось.
т.е.
std::fstream strm;
strm.open( "filename" );
if( ! strm.fail() )
{
// Do something
strm.close(); // [1]
}
strm.close(); // [2]
Где следует вызывать close - всегда ли он вызывается [2] или только если открытие завершается [1]?
Возможно, я перехожу через край, но исходя из способа, которым Windows API обычно делает это, у меня есть CloseHandle (...); , встроенный в мой разум: -)