相关疑难解决方法(0)

实现no-op std :: ostream

我正在寻找一个日志类,其中包含Info,Error等成员,可以配置输出到控制台,文件或无处.

为了提高效率,我希望避免格式化将要丢弃的消息的开销(即,不以详细模式运行时的信息消息).如果我实现一个输出到无处的自定义std :: streambuf,我想std :: ostream层仍将执行所有格式化.任何人都可以建议一种方法来拥有一个真正的"空"std :: ostream,它可以避免在传递给它的参数上做任何工作<<吗?

谢谢.

c++ debugging logging

32
推荐指数
3
解决办法
7782
查看次数

C++流到内存

我怎么能创建std :: ostream和std :: istream对象来指向我分配和管理的一块内存(我不希望流释放我的内存).

我正在寻找使用rdbuf() - > pubsetbuf()来修改其他流之一 - 比如sstringstream.但是我认为stringstream使用的streambuf会在之后释放缓冲区吗?

基本上我正在尝试将一些东西序列化为共享内存.

谢谢.

c++ stream

6
推荐指数
1
解决办法
4091
查看次数

自定义流到C++中的方法?

我正在制作一个记录器,我希望有一些像流一样的事情发生,理想情况下,CLogger << "Testing, " << 1 << ",2,3\n";而不是CLogger->log("Testing, %i,2,3", 1);

我的问题是我该怎么做?我不想直接创建一个到stdout的流,因为我想使用我自己的方法,包括编写文件等.我已经考虑使用某个结构重载,该结构将当前流缓冲区刷新为方法,但我必须这样做CLogger << flush << "Test!\n";,这有点奇怪.

有人知道怎么做这个吗?

c++ stream

3
推荐指数
2
解决办法
5412
查看次数

标签 统计

c++ ×3

stream ×2

debugging ×1

logging ×1