[解決済み】 ios_base::sync_with_stdio(false); cin.tie(NULL) の有意性。)
質問
を含む意義は何ですか?
ios_base::sync_with_stdio(false);
cin.tie(NULL);
C++プログラムで?
私のテストでは、実行時間が早くなるのですが、これを入れることで心配するようなテストケースはないのでしょうか?
2つのステートメントは常に一緒でなければならないのでしょうか、それとも最初のステートメントで十分なのでしょうか、つまり、無視するのでしょうか。
cin.tie(NULL)
?
また、CとC++の同時使用は可能でしょうか?
false
?
https://www.codechef.com/viewsolution/7316085
上記のコードは
scanf/printf
をC++のプログラムの中で、値を
true
. この場合、セグメンテーションフォールトが発生しました。この場合、セグメンテーションフォールトが発生します。
解決方法は?
この2つの呼び出しは、パフォーマンスとは無関係の異なる意味を持っています。 実行時間を早める は(あるいは かもしれない は単なる副次的効果に過ぎません。それぞれが何をするのか理解し、最適化のように見えるからといって、やみくもにすべてのプログラムに取り入れるべきではありません。
ios_base::sync_with_stdio(false);
これは、CとC++の標準ストリーム間の同期を無効にします。デフォルトでは、すべての標準ストリームは同期化されており、実際には、CとC++スタイルのI/Oを混在させて、賢明かつ期待通りの結果を得ることができます。同期を無効にすると、C++ストリームはそれ自身の独立したバッファを持つことができるようになり、CとC++スタイルのI/Oを混在させることが冒険になってしまうのです。
また、同期化されたC++ストリームはスレッドセーフであることも覚えておいてください(異なるスレッドからの出力が交錯することがありますが、データレースは発生しません)。
cin.tie(NULL);
これは
cin
から
cout
. タイドストリームは、一方のストリームが他方のストリームの各入出力操作の前に自動的にフラッシュされることを保証します。
デフォルトでは
cin
は
cout
を使用することで、ユーザーとの対話が適切に行われるようになります。例えば
std::cout << "Enter name:";
std::cin >> name;
もし
cin
と
cout
が結ばれている場合、プログラムがユーザに入力を促す前に出力がフラッシュされる (すなわち、コンソールに表示される) ことが期待できます。ストリームを解いた場合、プログラムはユーザが名前を入力するのを待ってブロックするかもしれませんが、"Enter name"メッセージはまだ表示されていません(なぜなら
cout
はデフォルトでバッファリングされており、出力は要求されたとき、またはバッファがいっぱいになったときのみコンソールにフラッシュ/表示されます)。
そのため、もし
cin
から
cout
の場合、必ずフラッシュする必要があります。
cout
への入力を期待する前に何かを表示したい場合は、毎回手動で行います。
cin
.
結論として、それぞれが何をするのかを知り、その結果を理解した上で、本当に必要なのかどうかを判断してください。 可能 速度向上という副次的な効果
関連
-
[解決済み】IntelliSense:オブジェクトに、メンバー関数と互換性のない型修飾子がある
-
[解決済み】「Expected '(' for function-style cast or type construction」エラーの意味とは?
-
[解決済み】エラー:不完全な型へのメンバーアクセス:前方宣言の
-
[解決済み】指定範囲内の乱数で配列を埋める(C++)
-
[解決済み] 解決済み] `pthread_create' への未定義の参照 [重複] [重複
-
[解決済み] gdbを使用してもデバッグシンボルが見つからない
-
[解決済み] 数値定数の前にunqualified-idを付けて、数値を定義することを期待する。
-
[解決済み】VC++の致命的なエラーLNK1168:書き込みのためにfilename.exeを開くことができません。
-
[解決済み] 配列のベクトルを扱う正しい方法
-
[解決済み】TRUEとFALSEのマクロの定義がおかしい件
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】getline()が何らかの入力の後に使用されると動作しない 【重複あり
-
[解決済み】C++コンパイルタイムエラー:数値定数の前に期待される識別子
-
[解決済み】C++の変数はイニシャライザーを持っているが、不完全な型?
-
[解決済み】fpermissiveフラグは何をするのですか?
-
[解決済み】「Expected '(' for function-style cast or type construction」エラーの意味とは?
-
[解決済み】CMakeエラー at CMakeLists.txt:30 (project)。CMAKE_C_COMPILER が見つかりませんでした。
-
[解決済み] 解決済み] `pthread_create' への未定義の参照 [重複] [重複
-
[解決済み] 配列のベクトルを扱う正しい方法
-
[解決済み] C++高速CIN入力ストリーミング
-
[解決済み] cinとcoutをファイルにリダイレクトするには?