std::endlと'n'の違い(c++ベース)


「」は、コンテンツがリターン文字である文字列を表します.std::endlはストリーム操作であり、出力の役割は出力「」と似ていますが、少し異なる場合があります.std::endlは改行を出力し、すぐにバッファをリフレッシュします.例:
std::cout << std::endl;

次のようになります.
    std::cout << '
' << std::flush; std::cout << '
'; std::fflush(stdout);

ストリームオペレータ<<のリロードにより、'''と'''に対して出力効果は同じです.出力バッファのあるストリーム(cout、clogなど)については、手動でバッファリフレッシュ操作を行わないと、バッファがいっぱいになった後に自動的に出力がリフレッシュされます.ただし、coutにとって(ファイル出力ストリームなどに対して)バッファは一般的に明らかではありません.ただし、必要に応じてendlを‘’の代わりに使用するのは一般的に良い習慣です.バッファのないストリームについては(例えば、標準エラー出力ストリームcerr)では、リフレッシュは不要であり、直接‘’を使用することができます.ここではfflush関数を理解していないパートナーが多いはずです.(ヘッダファイルがstdio.hかcstdio)何をしているのかは、次の2つの問題解を見て、絶対に分かります.参考解釈1参考解釈2ただし、出力ストリームをリフレッシュする必要がない場合はcout<''、過剰なendlはプログラムの実行効率の低下に影響する要素の一つです.実際には、ユーザーの入力ミスなど、多くの問題を解決することができます.このように他の人がどのように入力しても、前のものはすべてなくて、後の入力に影響しません.注意、ここはバッファを空にしただけで、あなたのプログラムに影響を与えることはありません.時間のほかに、ある意味でプログラムのフォールトトレランス性が向上しました.複数行のテキストを表示するには、次のようにします.
#include 
using namespace std;
int main()
{
    cout<

このようにcoutを複数行挿入する必要はありません.本当の開発過程では、using namespace stdの使用をできるだけ避ける.名前空間全体を直接導入しないと、名前空間の汚染によって多くの不要な問題が発生します.例えば、自分が書いた関数のように、名前はstdと同じで、コンパイラはどれを使うか分からないので、コンパイルエラーを引き起こし、使用をお勧めします.
std::cout << "Hello World" << std::endl;

など、ネーミングスペースから直接組み合わせたフルネーム.