繁体   English   中英

增强映射文件是否是RAII?

[英]Are boost mapped files RAII?

从我可以从文档中得知的事实来看,它们不是,RAII是现代cpp的功能之一。

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

编辑:原来答案是肯定的,但是请不要忘记使用.is_open()。

看一下实现,mapped_source / mapped_sink都包含一个指向底层mapped_file_impl的共享指针(有关此处的mapped_file_impl源,请参见此处)

如您所见,最后一个引用被销毁后,它将调用析构函数,该析构函数将从映射文件中分离出来。 但是,它不会破坏映射文件,仅破坏销毁ofstream会删除基础文件。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM