cin,cout速度が遅すぎる問題を解決する
647 ワード
iosの使用::sync_with_stdio(false);ステートメント
cin,coutが効率が低いのは,出力するものをバッファに格納してから出力することで効率が低下するためであるが,この文はiostreamの入出力キャッシュを打ち消すことができ,多くの時間を節約でき,効率はscanfとprintfとほとんど変わらないが,scanfとprintfよりもやや遅いが,問題の通過には影響しない.
sync_with_stdio
この関数は「stdioに互換性があるかどうか」のスイッチで、C++はCに互換性があるため、プログラムがstd::printfとstd::coutを使用している間に混乱が起こらず、出力ストリームを縛っていることを保証します.
だからios::sync_を使いますwith_stdio(false);あとはcin,coutとscanf,printfを混用してはいけません.そうしないと、入出力が予想と異なる確率で発生します.
使用例
cin,coutが効率が低いのは,出力するものをバッファに格納してから出力することで効率が低下するためであるが,この文はiostreamの入出力キャッシュを打ち消すことができ,多くの時間を節約でき,効率はscanfとprintfとほとんど変わらないが,scanfとprintfよりもやや遅いが,問題の通過には影響しない.
sync_with_stdio
この関数は「stdioに互換性があるかどうか」のスイッチで、C++はCに互換性があるため、プログラムがstd::printfとstd::coutを使用している間に混乱が起こらず、出力ストリームを縛っていることを保証します.
だからios::sync_を使いますwith_stdio(false);あとはcin,coutとscanf,printfを混用してはいけません.そうしないと、入出力が予想と異なる確率で発生します.
使用例
#include
using namespace std;
int main()
{
ios::sync_with_stdio(false);
string a;
int x,y;
cin>>a>>x>>y;
cout<