避免永久修改流的fmtflags是一种好习惯吗?

例如,我编写的函数
std::ios_base::fmtflags flags = std::cout.setf(std::ios_base::boolalpha);
在开始和
std::cout.setf(flags);
即将结束。

我应该这样做吗?假设多个不相关的函数使用相同的流,并且需要不同的格式设置选项。

最佳答案

是的,不言而喻,在通常情况下,将流保持在您发现它的状态(与格式化标志有关)是一件不错的事情。

在特定情况下,您是否应该实际执行此操作完全取决于其他哪些组件使用相同的流以及它们对它们的期望是什么。

关于c++ - C++恢复流fmtflags,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31235843/

10-12 00:44