Лучший способ сохранить файл в классе

В настоящее время я пишу для File_Handler, класса, который упрощает операции с файлами, которые мне нужны для моей программы.

У меня вопрос, какой путь лучше всего сохранить файл в моем классе. Будет ли лучше сохранить путь к моему файлу в виде std :: string и заново открыть его в каждой функции, которая использует этот файл, или было бы лучше, если бы я сохранил фактическую переменную std :: fstream. Так как это File_Handler он будет выполнять много операций над одним файлом во множестве различных функций. Ниже приведена краткая демонстрация обоих способов:

Оптик 1 будет выглядеть так:

class File_Handler
{
public:
void foo()
{
std::fstream f(m_path);
//operations with 'f'..
}
private:
std::string m_path; //save path of file here
}

и Опц. 2 будет выглядеть так:

class File_Handler
{
public:
void foo()
{
//operations on already opened 'm_file'
}
private:
std::fstream m_file; //save actual file
}

Какая версия быстрее, экономнее и лучше?

Или есть даже лучший способ? (Например, скопировать весь файл в вектор и после каждой операции с вектором копировать вектор в файл? ..)

Буду признателен за помощь.

0

Решение

Задача ещё не решена.

Другие решения


По вопросам рекламы [email protected]