Rogue Wave バナー
前へマニュアルの先頭へ目次次へ

14.6 C 標準入出力との同期

7.1 節で説明したように、定義済みの C++ ストリーム cincoutcerrclog は、標準 C ファイル stdinstdoutstderr に対応しています。 たとえば、cout に対する挿入の宛先は、stdout に対する出力と同じファイルになります。デフォルトでは、定義済みのストリームに対する入出力は、標準 C ファイルの読み書き演算に同期します。その結果、読み書き演算で定義済みの C++ ストリームや標準 C ファイルを使用したかどうかに関係なく、呼び出し順に入出力演算が実行されます。

この同期には時間がかかるため、実際に使用することはあまりありません。次のように呼び出しを行ってオフにすることができます。

sync_with_stdio(false);

この呼び出しを行うと、C 標準ファイルとは無関係に定義済みのストリームが実行されるため、C++ ストリームの演算時のパフォーマンスも向上します。ただし、定義済みのストリームに対する入出力演算のたびに、あらかじめ sync_with_stdio() を呼び出す必要があります。呼び出さない場合は、sync_with_stdio() を呼び出した結果が実装定義になるからです。



前へマニュアルの先頭へ目次次へ

Copyright (c) 1998, Rogue Wave Software, Inc.
このマニュアルに関する誤りのご指摘やご質問は、電子メールにてお送りください。


OEM リリース, 1998 年 6 月