[英]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.