在类中保存文件的最佳方法

时间:2015-07-29 22:42:38

标签: c++ file fstream class-design member-variables

我目前正在写一个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 个答案:

没有答案
相关问题