是否允许销毁std :: fstream关闭相关文件?

Bil*_*eal 0 c++

我想知道我是否需要一个RAII包装std::fstream....

Joh*_*itb 6

不,你没有.它会关闭文件.§ 27.8.1.2:

virtual ˜basic_filebuf();  
Run Code Online (Sandbox Code Playgroud)

效果:销毁类basic_filebuf的对象.调用close().

(包含在std::fstream(§ 27.8.1.11)中的对象,因此在被破坏时fstream被破坏).