私はprintf
コードでトレース/ロギングの目的で多くを使用していますが、それがプログラミングエラーの原因であることがわかりました。私は常に挿入演算子(<<
)が少し奇妙なものであることに気付きましたが、代わりにそれを使用することでこれらのバグのいくつかを回避できると思い始めています。
誰かが似たような啓示を受けたことがありますか、ここでストローを掴んでいるだけですか?
いくつかのポイントを奪う
- 私の現在の考え方は、型安全性はprintfを使用する利点よりも優れているということです。本当の問題は、フォーマット文字列とタイプセーフでない可変長関数の使用です。
- 多分私は使用せ
<<
ず、stl出力ストリームのバリアントを使用しますが、非常によく似たタイプセーフメカニズムの使用を検討します。 - トレース/ロギングの多くは条件付きですが、めったに分岐しないという理由だけで、テストのバグを見逃さないように常にコードを実行したいと思います。
printf
C ++での使用は完全に合法です。(それが良いアイデアかどうかは別の質問です。)
printf
いくつかの利点があります。私の答えを見てください。
printf
C ++の世界では?ここで何か不足していますか?