应用程序使用 RapidXML 来编辑 XML 文件。编辑不是自动化的,偶尔会发生:XML 内容显示在 GUI 中,用户执行一些更改 XML 的操作。每个更改都必须立即保存到磁盘。
加载 RapidXML 文档对象需要将文件内容复制到字符串中。文档中的每次更改都会将文档对象的内容复制回文件中。
在此示例中,文件用于输入和输出。在这种情况下,是否应将单个std::fstream
对象用于所有输入/输出操作?它将在应用程序启动时打开一次,用于输入/输出,并在应用程序结束时关闭。
std::ifstream
std::ofstream
或者,是否应该在需要执行文件输入/输出时使用和的本地(临时)实例?例如std::ifstream
,在开始时用于读取文件(打开、读取、关闭);类似地,std::ofstream
当必须将 DOM 导出到文件(打开、写入、关闭)时使用实例。
我不关心这里的性能(由于应用程序的性质),但对在这种情况下正确选择文件流对象感到好奇。