1. ホーム
  2. c++

[解決済み] "std::endl" vs "\n"

2022-03-16 06:06:12

質問

多くのC++の本には、このようなサンプルコードが掲載されていますが...。

std::cout << "Test line" << std::endl;

...だから、私もいつもそうしてきた。でも、現役の開発者がこのようなコードを書いているのをたくさん見てきました。

std::cout << "Test line\n";

それとも、単にコーディングスタイルの問題でしょうか?

どのように解決するのですか?

ファイルがテキストモードで開かれていると仮定すれば、改行文字の違いは重要ではありません。 コンパイルされたプログラムは、コンパイルされたシステムに対して正しいものを書き出します。

唯一の違いは std::endl は出力バッファをフラッシュし '\n' はしません。 もし、バッファを頻繁にフラッシュさせたくないのであれば '\n' . 出力する場合(例えば、すべての出力を取得したいが、プログラムが不安定な場合)には、次のようにします。 std::endl .