C のスティッキー マニピュレータ
C プログラミングでは、マニピュレータはストリームの出力形式を変更するために使用されます。特定のマニピュレータは「スティッキー」な方法で動作します。これは、明示的に変更されるまでその効果が持続することを意味します。
setw() が Sticky ではないのはなぜですか?
std::setw( ) は、非粘着マニピュレータの例です。これは、次の挿入操作にのみ影響することを意味します。 setw() を使用すると、幅設定はデフォルト値にリセットされます。
他のマニピュレータはスティッキーですか?
setw() を除くすべてのマニピュレータはスティッキーです。これ含まれるもの:
の違いstd::ios_base::width() とstd::setw()
std::setw() は、幅の値を表すオブジェクトを返します。このオブジェクトは、ストリームに挿入される次の項目の幅を設定するために使用できます。
std::ios_base::width() は、ストリームの幅を直接設定します。ストリームへの後続の挿入は、新しい幅でフォーマットされます。
オンライン リファレンス
残念ながら、マニピュレータのスティッキーな動作を明示的に記載した明確なドキュメントはありません。ただし、その動作は C 標準ライブラリのドキュメントから推測できます。
スティッキー マニピュレータの例
次のコードは、スティッキー マニピュレータの動作を示しています。マニピュレータ:
結論
スティッキー マニピュレータは、出力の書式設定の制御に役立つ C の便利な機能です。ただし、予期しない結果を避けるために、彼らの行動に注意することが重要です。
以上がどの C ストリーム マニピュレータがスティッキーであり、なぜ `setw()` がスティッキーではないのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。