操縱器與格式物件
在嘗試建構字串流時,出現了關於std::setw() 行為的常見誤解。假設它會永遠影響字串流是一個錯誤的假設,因為它在每次插入後都會重置。本文旨在澄清黏性和非黏性操縱器以及格式物件之間的區別,解決以下問題:
黏性操縱器
std::ios_base 中的操縱器可以分為兩類:
格式物件
格式物件用於暫時變更流的格式屬性。與操縱器相反,它們不會直接影響流物件。 PutSquareBracket 格式物件就是一個例子,它允許暫時修改格式而不影響永久狀態。
結論
std::setw() 是唯一的在操縱器中,它是唯一非黏性的。缺乏關於其具體行為的文檔可能是由於其與其他操縱器的相似性。然而,現實情況是,由於格式化輸出操作中要求明確將寬度設為零,因此它的行為有所不同。
以上是std::setw() 和 Stringstreams:黏性操縱器與非黏性操縱器 — 有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!