从我从文档中可以看出它们不是,另一方面RAII是现代cpp的特征之一。
http://www.boost.org/doc/libs/1_47_0/libs/iostreams/doc/classes/mapped_file.html
编辑:事实证明答案是肯定的,但请不要忘记使用.is_open()。
答案 0 :(得分:3)
查看实现,mapped_source / mapped_sink都包含指向底层mapped_file_impl (See here for the mapped_file_impl source)的共享指针
正如您所看到的,一旦最后一个引用被销毁,它就会调用析构函数,该析构函数与映射文件分离。但是,它不会破坏映射文件,只会破坏ofstream
删除基础文件。