是否存在粘性操纵器的官方资源

时间:2016-10-31 11:52:36

标签: c++ language-lawyer standards sticky iomanip

标准是否定义哪些iomanip操纵器是粘性的,哪些不是?

我一直在发现自己指的是:https://stackoverflow.com/a/1533222/2642059

哪个是一个很好的答案,但甚至说:

  

在我的版本

再加上我无法在http://en.cppreference.comhttp://www.cplusplus.com找到粘性概念这一事实让我想知道这是否是一个实现定义的概念。

2 个答案:

答案 0 :(得分:2)

标准C ++库中没有粘性/非粘性操纵器的概念。标准C ++库中唯一的非粘性操纵器是width()。其他标准格式化标志都不会作为输入或输出的一部分进行更改。用户操作员做了什么以及他们在使用后是否重置设置完全取决于他们。

答案 1 :(得分:2)

不是"官方",但cppreference.com在std::setw

中说
  

如果调用以下任何函数,则stream的width属性将重置为零(表示"未指定"):

     

作为cppreference says中的编辑历史记录,此列表是通过为" width"

的标准草稿进行编辑而编译的。

所有其他操纵者都是"粘性",就像在他们执行的流状态更改一样,直到再次显式更改为止。