問題タブ [endl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - C++ では、私のプログラムは、ユーザーが入力を追加することなく、次の CIN プロンプトに自動的に移動します。
これが私のコードです:
ユーザーが名前を入力すると、住所を入力するように求められます。ただし、住所を入力する前に、シニア シーズン チケットの枚数を入力するよう求められます。入力行をスキップするのはなぜですか? 何が起こるかは次のとおりです。
c++ - std::endl はテンプレート関数ですが、() なしで使用できるのはなぜですか?
以下は stlport の endl 関数です。
endl を使用すると、次のようなコードになることがあります。
std::endl は () なしでどのように機能しますか?
または私の質問は、「関数は operator() なしでどのように実行されますか?」です。
c++ - 改行文字もバッファをフラッシュしますか?
と の違いendl
など\n
の質問は、 SO で何度も回答されていることを理解しています。endl
しかし、彼らはバッファを にフラッシュできることだけを述べていますが、そうではstdout
あり\n
ません。
したがって、バッファがフラッシュされることで私が理解しているのは、指定された入力がバッファに格納され、 、またはいくつかの明示的な関数stdout
に遭遇した場合にのみ渡されるということです。もしそうなら、私は次のコードを期待していました:endl
flush
表示する:
2秒後
しかし、実際の出力は次のとおりです。
2秒後
なぜそうなのですか?
\n
もバッファに格納すべきではなく、バッファが見つかった場合にのみ、endl
にフラッシュ/表示されますstdout
が、私が観察したところ\n
、 と同じように動作していendl
ます。
c++ - C++ では、各演算子のオーバーロード カスケードの後に改行を書き込もうとしています。
これはちょっと難しい問題です。std::cout に似た外観にしようとしているロギング関数を書いています
したがって、基本的には、次のコードをコメントどおりに実行することが目標です
可変個引数テンプレートを使用してみましたが、うまくいきませんでした。これまでで最も成功した試みは次のとおりです。
c++ - 時間遅延があっても cout が印刷されない
cout
"hello" と 2 秒後に "world"が出力されることを期待しています。
ただし、代わりに、cout
2 秒後まで画面に通知を出力し、プログラムは「hello world」を出力します。のように時間遅れが大きく(t + 9)
なっても同じ結果です。私はこのcout
振る舞いに慣れていません。
しかしstd::endl
、最初に次のcout
ように追加すると:
期待どおりの結果 "hello" と 2 秒後に "world" が返されます。