我目前正在写一个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
}
哪个版本更快,更安全,更好?
还是有更好的方法吗? (例如,将整个文件复制到一个向量中,并在向量复制向量上的每个操作之后复制到文件?..)
我很感激你的帮助。