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