在boost file_sink类中延迟开放调用

In boost file_sink class delay the open call

本文关键字:延迟 调用 boost file sink      更新时间:2023-10-16

函数foo()每次调用它时都会从文件中返回5个字节。如果使用file_sink类,则每次调用foo()时都必须打开该文件。一种方法是在头文件中将file_sink声明为private,然后在构造函数中对file_sink调用open,并且在每次调用foo()时只调用read,而不必每次都调用open()。但这似乎是不可能的,因为file_sink构造函数需要文件路径。如何解决这个问题

在头文件中有一个file_sink指针,在构造函数中将其初始化为NULL,并让foo第一次创建file_sink(带有文件名)