C++cin速度最適化詳細

999 ワード

以下の通りです
std:ios:sync_with_stdio(false)
多くのC+++の初心者はこの問題に悩まされるかもしれません。プログラムが理由なくタイムアウトすることがよくあります。最終的に問題はcinとcoutにあります。(古いoverもこの問題に悩まされています。毎回scanfとprintfだけを打って、そしていっぱいのプレースホルダが面倒です。)これはC++中、cinとcoutがstdioと同期して、中間にバッファがあります。cout文の入出力が遅い場合は、この文を使ってcinをキャンセルし、coutとstdioの同期をとることができます。つまり速度を上げることです。効率は基本的にscanfとprintfと一致します。
そして安心してcin、coutを使うことができます。
実はusing namespace std;あとでいいです
ios::sync_with_stdio(false)
使用上の注意
ストリーム同期をキャンセルすると、stdioにあるscanf()とprintf()の入出力の内部同期がキャンセルされますので、間違ったら博主訂正に連絡してください。この時はscanfと混用しないほうがいいです。
また、ファイル入出力を使うなら、freopenの後ろにこの文を置いても、どうせ西に出ますが、具体的な問題はブロガーにもよく分かりません。
補足知識:c++cinを解決し、cout入出力効率が低いため、運転結果がタイムアウトした問題
patをする時、タイムアウトの問題があって、まずアルゴリズムの問題を考えて、アルゴリズムが問題がない時、入出力の問題を考慮して、cinとcoutの効率は比較的に低くて、2種類の解決方法があります。
1.cinとcoutをscanfとprintfに変更する
2.cinとcoutを変更せず、コードにコードセグメントを追加する:
ios::sync_with_stdio(false)
このコードセグメントはcinとcoutの効率問題を大きく改善することができる。
以上のC++cinスピード最適化の詳細は、小編集が皆さんに提供した内容の全てです。参考にしていただければ幸いです。どうぞよろしくお願いします。