gpt4 book ai didi

c++ - 将 setw 与用户定义的 ostream 运算符一起使用

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:17:42 26 4
gpt4 key购买 nike

如何让 setw 或类似的东西( boost 格式?)与我的用户定义的 ostream 运算符一起工作? setw 仅适用于推送到流的下一个元素。

例如:

cout << "    approx: " << setw(10) << myX;

其中 myX 是 X 类型,我有自己的

ostream& operator<<(ostream& os, const X &g) {
return os << "(" << g.a() << ", " << g.b() << ")";
}

最佳答案

只需确保所有输出都作为对 operator<< 的同一调用的一部分发送到流中.实现此目的的一种直接方法是使用辅助 ostringstream对象:

#include <sstream>

ostream& operator<<(ostream& os, const X & g) {

ostringstream oss;
oss << "(" << g.a() << ", " << g.b() << ")";
return os << oss.str();
}

关于c++ - 将 setw 与用户定义的 ostream 运算符一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2249018/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com