C++ 中 cout << endl 和 cout << “\n” 的區別


在本節中,我們將瞭解 C++ 中 cout << endl 和 cout “\n” 的區別。在不同的情況下,我們應該使用 cout << “\n”,並避免使用 endl。

因此,我們在將行列印到控制檯或檔案中時,為什麼應該避免使用 std::endl。我們使用 std::endl 在當前行後建立新行。對於幾行的 IO 操作,這並不會造成任何問題。但對於大量的 IO 任務,它會降低效能。

endl 用於建立新行,但它不會僅傳送到新行,在將游標傳送到下一行之後,它每次都會重新整理緩衝區。

重新整理緩衝區不是程式設計師的任務;作業系統負責處理。每次它請求重新整理時,它都會向作業系統請求。這種請求相對比較昂貴。而且我們不必每次在寫一些行之後重新整理緩衝區。當 IO 流已滿時,它會自動清除緩衝區。

如果我們分析用 std::endl 和用 ‘\n’ 將近 10 萬行文字寫入檔案所需的時間,我們能夠輕鬆地看出區別。與在它後面使用 ‘\n’相比,使用 std::endl 的程式碼完成此任務所需的時間將近是它的兩倍。

更新於: 30-7-2019

952 次瀏覽

開啟您的 職業生涯

透過完成該課程獲得認證

開始
廣告
© . All rights reserved.