-2

次のようなコードを安全に使用できますか

fprintf(nullptr, "str");

または

std::ofstream() << "str";

std::ofstream f;
f << "str";

C / C++標準にそのような状況の説明はありますか?

4

2 に答える 2

2

C++ ストリームを使用する場合、出力操作は、ストリーム withstd::ios_base::failbitまたはstd::ios_base::badbitセットに送信されても​​効果がありません。ストリームが成功を示さないことが許容できる場合はstd::ostream、null ストリーム バッファを使用して を作成できます。

std::ostream nullstream(0);

ストリームも成功を示すようにしたい場合は、成功を示すストリーム バッファと共にそれを使用できますが、何も実行overflow()sync()ません。

于 2012-08-26T12:50:43.567 に答える
0

これはあなたが尋ねた質問には答えませんが、あなたが尋ねるべきだったものですunused.GCCの変数のような属性を割り当てることができ、警告を抑制します.

http://gcc.gnu.org/onlinedocs/gcc-3.4.6/gcc/Variable-Attributes.html

于 2012-08-26T12:45:54.363 に答える