升压映射文件RAII?

时间:2011-09-08 00:51:55

标签: c++ boost memory-mapped-files

从我从文档中可以看出它们不是,另一方面RAII是现代cpp的特征之一。

http://www.boost.org/doc/libs/1_47_0/libs/iostreams/doc/classes/mapped_file.html

编辑:事实证明答案是肯定的,但请不要忘记使用.is_open()。

1 个答案:

答案 0 :(得分:3)

查看实现,mapped_source / mapped_sink都包含指向底层mapped_file_impl (See here for the mapped_file_impl source)的共享指针

正如您所看到的,一旦最后一个引用被销毁,它就会调用析构函数,该析构函数与映射文件分离。但是,它不会破坏映射文件,只会破坏ofstream删除基础文件。