C++ 什么';setw()的交易是什么?

C++ 什么';setw()的交易是什么?,c++,c++-standard-library,setw,C++,C++ Standard Library,Setw,我最近被这样一个事实所困扰,那就是ios\u base::width和/或setw操纵器必须是 也就是说,您必须这样做: while(whatever) { mystream << std::setw(2) << myval; } while(无论什么) { mystream我的看法是:如果希望统一应用它,您可以始终执行以下操作 int width =2; while(whatever) { mystream << std::setw(wid

我最近被这样一个事实所困扰,那就是
ios\u base::width
和/或
setw
操纵器必须是

也就是说,您必须这样做:

while(whatever)
{
    mystream << std::setw(2) << myval;
}
while(无论什么)
{

mystream我的看法是:如果希望统一应用它,您可以始终执行以下操作

int width =2;
while(whatever)
{
    mystream << std::setw(width) << myval;
}
int-width=2;
尽管(不管怎样)
{

mystream哪些操纵器应该只影响下一个操作的决定似乎是基于逻辑和经验的观察,关于什么倾向于更好地考虑常见的功能需求,因此程序员更容易编写和正确操作

我认为以下几点是相关的:


  • 在我看来,某些流认为
    hex
    粘性就像
    setw
    相反一样随意……但对彻底性有一个向上的投票权(:另见)。
    int width =2;
    while(whatever)
    {
        mystream << std::setw(width) << myval;
    }
    
    mystream.width(2);
    while(whatever)
    {
        mystream << myval;
    }