是否有粘性操纵器的官方资源?
Is There an Official Resource for Sticky Manipulators
标准是否定义了哪些iomanip
操作符是粘着的,哪些不是?
我发现自己一直在参考:https://stackoverflow.com/a/1533222/2642059
这是一个很好的答案,但甚至说:
on my version
再加上我在http://en.cppreference.com或http://www.cplusplus.com上找不到粘性的概念这一事实,使我怀疑这是否是一个实现定义的概念。
不是"official",但cppreference.com说,在std::setw
如果调用以下任何一个函数,流的width属性将被重置为零(即"未指定"):
输入
operator>>(basic_istream&, basic_string&)
operator>>(basic_istream&, char*)
- 输出
basic_ostream::operator<<()
的1-7重载(num_put::put()
的第3阶段)(1-7是整数、布尔和指针重载)
operator<<(basic_ostream&, char)
和operator<<(basic_ostream&, char*)
operator<<(basic_ostream&, basic_string&)
std::put_money
(insidemoney_put::put()
)
std::quoted
(与输出流一起使用时)
如cppreference中的编辑历史所述,该列表是通过获取"width"
的标准草案来编译的。所有其他操作符都是"粘性的",也就是说,它们执行的流状态更改将持续存在,直到再次显式更改。
在标准c++库中并没有真正的粘/非粘操作符的概念。标准c++库中唯一的非粘性操纵符是width()
。其他任何标准格式化标志都不会作为输入或输出的一部分而改变。用户操作符做什么以及使用后是否重置设置完全取决于他们自己。
- 具有瞬态资源的RAII类
- C++ 雷神库 - 使用资源加载器类时出现问题(不命名类型)
- 允许从 std::map 的密钥窃取资源?
- 参考资源文件VC++中的$(SolutionDir)
- 如何维护资源管理器项目视图中当前可见的项目列表
- 将 std::allocate_shared 与多态资源分配器一起使用
- 使用RAII在给定次数的迭代后重新分配资源
- 资源管理设计模式
- 如何跨平台将二进制资源构建到程序中?
- SetDlgItemInt 不会更改嵌入资源的编辑框
- Klocwork Inside的资源泄漏
- 从存储为 Windows 资源 (c++) 的 png 中获取 png 文件数据
- C++链接时间资源"allocation"而不定义
- 使用 Bazel 生成 QT 资源文件
- 在官方张量流 resnet50 模型上运行 tflite 精度工具
- 编译器资源管理器和 GCC 具有不同的输出
- 即使直接从官方示例中复制,也找不到未知类型名称QML_ELEMENT和 QML 模块
- 使用 Bazel 编译 QT 应用程序时访问资源
- 根据需要声明资源,而不重复它们
- 是否有粘性操纵器的官方资源?