次のようなコードを安全に使用できますか
fprintf(nullptr, "str");
または
std::ofstream() << "str";
と
std::ofstream f;
f << "str";
C / C++標準にそのような状況の説明はありますか?
C++ ストリームを使用する場合、出力操作は、ストリーム withstd::ios_base::failbitまたはstd::ios_base::badbitセットに送信されても効果がありません。ストリームが成功を示さないことが許容できる場合はstd::ostream、null ストリーム バッファを使用して を作成できます。
std::ostream nullstream(0);
ストリームも成功を示すようにしたい場合は、成功を示すストリーム バッファと共にそれを使用できますが、何も実行overflow()しsync()ません。
これはあなたが尋ねた質問には答えませんが、あなたが尋ねるべきだったものですunused.GCCの変数のような属性を割り当てることができ、警告を抑制します.
http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/Variable-Attributes.html