0
函数foo()在每次调用时都从文件返回5个字节。如果使用file_sink类,则每次调用foo()时都必须打开该文件。一种方法是在头文件中将file_sink声明为private,然后在构造函数中调用file_sink上的open,并且在每次调用foo()时,每次调用read(w/o)都不必打开()。但是这似乎是不可能的,因为file_sink构造函数需要文件路径。如何解决这个问题。In boost file_sink class延迟公开呼叫
或者让它'boost :: optional'避免动态分配和关联的内存管理 –
sehe
@sehe - 甚至更好。我倾向于老派。 –