在为 iostream << 运算符编写重载时,尤其是在应用程序类上,可能需要根据对该流对象有效的标准操纵器来更改该重载的行为。可以从 << 重载的实现中轮询流的标准操纵器的状态吗?
例如,它可能是可取的
std::cout << std::internal << myClassReference;
表现得不同于
std::cout << std::left << myClassReference;
除了差异之外,<< 的自定义重载可能会在其实现中移交给成员 <<'s。
如果可以轮询 iostream 的操纵器状态,这是如何实现的?另外,实现自定义操纵器的人应该怎么做才能同样轮询其操纵器的状态?