黏性Iomanip 操縱器
在C 中,iomanip 操縱器是流修飾符,用於更改輸入和輸出流的行為或格式。然而,並非所有操縱器的行為方式都相同。有些是臨時的,僅影響下一個插入,而另一些是“粘性”的,在明確更改之前一直有效。
為什麼 std::setw() 不黏性?
與大多數其他操縱器不同,std::setw() 不會永久改變流的狀態。這是因為它被視為格式化操縱器,其中每次插入都需要明確的寬度規格才能正確對齊。預設情況下,每次插入後它都會重設為零,以避免歧義並保持對格式的控制。
黏性操縱器
以下操縱器是黏性的,這意味著它們仍然有效直到被另一個操縱者改變或明確地改變重置:
std::ios_base::width() 與std::setw()
std::ios_base::width (D. ) 是所有流類型的基底類別std::ios_base 的成員函數。它傳回字段的當前寬度。然而,它並不直接控製字段寬度;必須使用 std::setw() 來設定字段寬度。
線上參考
請參閱 C 標準庫文件以獲取 iomanip 操縱器和的完整列表他們的行為。它提供了其功能的詳細描述和範例。或者,像 cppreference 網站這樣的線上資源提供了有關操縱器的完整信息,包括它們的黏性。
以上是為什麼有些 C iomanip 操縱器具有黏性,而其他操縱器(如'std::setw()”)則不然?的詳細內容。更多資訊請關注PHP中文網其他相關文章!