Это может зависеть от вашей реализации libc, но fstream обычно использует файлы с отображением в памяти. Как правило, они очень эффективны, и только основная память или подкачка, когда страница данных записывается в.
Если вы используете 32-разрядную систему, и эти файлы очень большие или очень многочисленные, у вас могут возникнуть проблемы с исчерпанием виртуального адресного пространства (в Windows ~ 2 ГБ могут возникнуть такие проблемы). Поскольку вы просто регистрируетесь, это кажется маловероятным.
Но простое закрытие файлов в этом случае может ухудшить ситуацию, поскольку тогда виртуальное адресное пространство может стать фрагментированным.
Я бы советовал, чтобы файлы оставались открытыми всегда, если только вы не думаете, что столкнетесь с вышеуказанными проблемами. Если у вас недостаточно памяти, очистка данных приведет к снижению требований к физической памяти.