次のようなコードを安全に使用できますか
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