У меня есть файл с сохраненными данными, к которым иногда нужно обращаться, записывать, стирать и т. Д. При запуске программы. Я решил написать класс SavedDataHandler для достижения этой цели. В настоящее время я использую класс fstream
.
Я подумал, чтобы один элемент данных был самим fstream, открывая его в конструкторе и закрывая в деструкторе. Однако я понял, что различные функции, вызываемые в SavedDataHandler, по-разному открывают поток (устанавливают разные флаги и т. Д.), Поэтому я решил не идти по этому пути.
Вместо этого у меня просто есть static const std::string
с именем файла, с открытыми функциями-членами, которые обрабатывают открытие и закрытие файла так, как им нужно. Производительность не проблема.
Является ли этот маршрут допустимым вариантом? Поскольку в нем нет элементов данных, предоставление конструктора даже не требуется. Это просто класс, который содержит функции (и одну статическую константу), причем функции работают с ресурсом, а не с элементом данных.