ifstream和ofstream或fstream使用in和out

Ish*_*aan 9 c++ fstream ifstream ofstream

处理文件时,首选以下两个例子中的哪一个?一个人提供比另一个更好的表现吗?有什么不同吗?

ifstream input("input_file.txt");
ofstream output("output_file.txt");
Run Code Online (Sandbox Code Playgroud)

VS

fstream input("input_file.txt",istream::in);
fstream output("output_file.txt",ostream::out);
Run Code Online (Sandbox Code Playgroud)

men*_*dal 18

在性能方面,在这种情况下可能只有微不足道的差异.充其量你节省了一点点记忆.

重要的是第一种情况有助于语义:a std::fstream可以在输入,输出或两者中打开.因此,您需要在使用时检查声明,std::ifstreamstd::ofstream明确说明您正在做什么.第二种情况有更多的人为错误空间,这就是应该避免的原因.

我自己的经验法则是std::fstream在需要对文件进行读写访问时使用,只有在这种情况下.