問題タブ [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に遭遇した場合にのみ渡されるということです。もしそうなら、私は次のコードを期待していました:endlflush
表示する:
2秒後
しかし、実際の出力は次のとおりです。
2秒後
なぜそうなのですか?
\nもバッファに格納すべきではなく、バッファが見つかった場合にのみ、endlにフラッシュ/表示されますstdoutが、私が観察したところ\n、 と同じように動作していendlます。
c++ - C++ では、各演算子のオーバーロード カスケードの後に改行を書き込もうとしています。
これはちょっと難しい問題です。std::cout に似た外観にしようとしているロギング関数を書いています
したがって、基本的には、次のコードをコメントどおりに実行することが目標です
可変個引数テンプレートを使用してみましたが、うまくいきませんでした。これまでで最も成功した試みは次のとおりです。
c++ - 時間遅延があっても cout が印刷されない
cout"hello" と 2 秒後に "world"が出力されることを期待しています。
ただし、代わりに、cout2 秒後まで画面に通知を出力し、プログラムは「hello world」を出力します。のように時間遅れが大きく(t + 9)なっても同じ結果です。私はこのcout振る舞いに慣れていません。
しかしstd::endl、最初に次のcoutように追加すると:
期待どおりの結果 "hello" と 2 秒後に "world" が返されます。