Здравствуйте, lpd, Вы писали:
lpd>Можешь пояснить, чем первый вариант с присваиванием лучше второго? По-моему второй проще.
В первом варианте в принципе не может быть не открытого файла. У вас либо оба файла открыты, либо вы никуда не движетесь. И это будет так вне зависимости от того, как функция будет модифицироваться и какой еще код (не)случайно попадет между объявлением переменной и ее использованием.
Возможно, здесь есть еще некоторый выигрыш от того, что для файлов не вызываются дефолтные конструкторы. Но если такое и есть, то это лишь приятный бонус.