Sticky Iomanip Manipulators
C では、iomanip マニピュレーターはストリーム修飾子であり、入力ストリームと出力ストリームの動作や形式を変更するために使用されます。ただし、すべてのマニピュレータが同じように動作するわけではありません。一部は一時的で次の挿入にのみ影響しますが、その他は「スティッキー」で明示的に変更されるまで有効です。
std::setw() がスティッキーではないのはなぜですか?
他のほとんどのマニピュレータとは異なり、std::setw() はストリームの状態を永続的に変更しません。これは、これが書式設定マニピュレータと見なされ、挿入ごとに適切な配置のために明示的な幅の指定が必要になるためです。デフォルトでは、あいまいさを避け、書式設定の制御を維持するために、挿入のたびにゼロにリセットされます。
スティッキー マニピュレータ
次のマニピュレータはスティッキーです。つまり、有効なままになります。別のマニピュレータによって変更されるか、明示的に変更されるまでリセット:
std::ios_base::width() と std::setw()
std::ios_base::width () は、すべてのストリーム タイプの基本クラスである std::ios_base のメンバー関数です。フィールドの現在の幅を返します。ただし、フィールド幅を直接制御するわけではありません。フィールド幅を設定するには、std::setw() を使用する必要があります。
オンライン リファレンス
iomanip マニピュレータとマニピュレータの包括的なリストについては、C 標準ライブラリのドキュメントを参照してください。彼らの行動。機能の詳細な説明と例が提供されます。あるいは、cppreference Web サイトなどのオンライン リソースでは、スティッキーな性質を含むマニピュレーターに関する詳細な情報が提供されます。
以上が一部の C iomanip マニピュレータがスティッキーであるのに、`std::setw()` などの他のマニピュレータはスティッキーではないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。