larlyii 2022-07-28 17:27 采纳率: 100%
浏览 41
已结题

如何使得cout格式的配置作用于所有元素?

如何使得cout格式的配置作用于所有元素?

我重载了<<运算符,想要使得打印vector时更方便,如下面的代码,但是当我想要调整vector中每个元素的格式时,发现只有第一个元素的格式如我所愿,后面的元素的格式又恢复为默认的了。请问如何使得格式的配置作用于所有元素?

问题相关代码,请勿粘贴截图

#include <iostream>
#include <iomanip>
#include <vector>

using namespace std;

template <typename T>
ostream &operator<<(ostream &out, const vector<T> &rhs) {
    for (const auto &val : rhs) {
        out << val << " ";
    }
    return out;
}

int main() {
    vector<int> a = {5, 6, 7};
    cout << a << endl;
    cout << setw(5) << a << endl;
    cout.width(5);
    cout << a << endl;
    return 0;
}

运行结果及报错内容

5 6 7
5 6 7
5 6 7

我想要达到的结果
5     6     7
  • 写回答

3条回答 默认 最新

  • [PE]经典八炮 2022-07-28 17:45
    关注

    setw只对下一次输出有效,你可以把它加到函数的循环里。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月13日
  • 已采纳回答 8月5日
  • 赞助了问题酬金10元 7月29日
  • 修改了问题 7月28日
  • 展开全部

悬赏问题

  • ¥15 onlyoffice编辑完后立即下载,下载的不是最新编辑的文档
  • ¥15 求caverdock使用教程
  • ¥15 Coze智能助手搭建过程中的问题请教
  • ¥15 12864只亮屏 不显示汉字
  • ¥20 三极管1000倍放大电路
  • ¥15 vscode报错如何解决
  • ¥15 前端vue CryptoJS Aes CBC加密后端java解密
  • ¥15 python随机森林对两个excel表格读取,shap报错
  • ¥15 基于STM32心率血氧监测(OLED显示)相关代码运行成功后烧录成功OLED显示屏不显示的原因是什么
  • ¥100 X轴为分离变量(因子变量),如何控制X轴每个分类变量的长度。