【发布时间】:2016-06-11 11:35:08
【问题描述】:
假设我有一个要打印到 ostream 的字符向量(或只是一个迭代器对)。现在,我不只是希望它打印 - 我希望它具有特定类型的间距,我想要 char 值的不同表示,而不仅仅是将它们脱口而出到终端(例如,如果它是可打印的,则 char 和转义的 2 -数字或十六进制代码。
现在我不想编写超出最低限度的自定义代码 - 即只是一点胶水和
void foo(ostream& os, char c) {
os << c << ' ' << as_hex(c);
}
(这就像 operator
我不想在 vecotr 上循环,并且对于每个字符手动调用 abve,我希望它的行为和看起来好像我只是在拥有 后将我的向量通过管道传输到我的输出流暂时改变了后者的属性。但有时我希望流恢复正常行为,即使对于相同的向量也是如此。
这可以合理/惯用地完成吗?
【问题讨论】:
标签: c++ iostream pretty-print ostream idioms