## 14.6 C 標準入出力との同期

7.1 節で説明したように、定義済みの C++ ストリーム `cin`、`cout`、`cerr`、`clog` は、標準 C ファイル `stdin`、`stdout`、`stderr` に対応しています。 たとえば、`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 月