gpt4 book ai didi

c++ - 使用 fstream 关​​闭文件

转载 作者:行者123 更新时间:2023-11-30 00:47:02 25 4
gpt4 key购买 nike

如果你打开一个文件然后关闭它。如果您尝试关闭一个已经关闭的文件,为什么程序会编译?

例如

ifstream inFile;
inFile.open("filename");
inFile.close();
inFile.close();

为什么编译器无法识别您已经关闭的文件?

最佳答案

Why doesn't the compiler recognize that you already closed the file?

这些语句在语法上是正确的,所以编译器不会报错。

理论上,第二个 close() 调用可能会在运行时失败,但由于它是一个幂等操作,所以不会。

reference documentation可以看出:

Notes

This function is called by the destructor of basic_fstream when the stream object goes out of scope and is not usually invoked directly.

它甚至必须以幂等方式实现。

关于c++ - 使用 fstream 关​​闭文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36117924/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com