C 中endl和 n有何區別?

時間 2021-06-05 07:44:54

1樓:Michael.Liu

endl 表示輸出換換行符,並重新整理緩衝區\n 表示換行的轉義字元

cout << endl; //等價於

cout << '\n' << flush;

2樓:

Don't useendlexcept possibly for aesthetic reasonsBjarne Stroustrup

今天被這兩個東西坑了一把。

具體看C++設計者Bjarne Stroustrup怎麼說:

endl會輸出'\n'(題外話,\n是轉義字元,字元字面值常量的一員,很多語言都支援,不是C專有),然後立即重新整理緩衝區並輸出到螢幕上。由於要重新整理緩衝區,endl會比\n慢一點,一般不建議使用。

今天在 PTA 做題,有一題要輸入輸出10萬行資料,怎麼寫都超時。折騰了半天,換了各種寫法都不行,最後試著將endl換成\n,終於過了。PTA簡直……明明在 rextester.

com 上這兩個跑起來差不多。不知道自己怎麼會習慣用endl,可能出於aesthetic reasons?習慣得改了囧。

及:發現關於cout還有乙個提公升速度的技巧,見下以上。

3樓:

流 << std::endl 相當於輸出 '\n',並重新整理流。

std::endl - cppreference.com

c 中out和ref有區別麼?

靈魂對撞機 看樣子你沒有學過c語言,玩過指標的很容易明白ref out代表的啥。區別真的大,用out還是ref決定了方法和呼叫時的寫法,核心還是不變,指標 打玻璃 out 你必須先初始化,才能讀取他的值。他告訴編譯器,這個變數會在function內被賦值。ref 在進入這個方法之前就要被初始化,並且...

在C 中 String Empty和 有什麼區別?

Ken.W 這類問題去stackoverflow問效果更好 榮浩 String.Empty是String類裡已經例項化好的靜態唯讀空字串,我們可以直接拿來用。而對於 系統需要去託管堆上例項化乙個空字串,效能略差一些吧 這種說法是錯誤的!Strings1 String Empty Strings2 C...

C 中 int a 和 int a 有什麼區別?

楊喚晨 做形參的時候,int a與int a無任何區別。眾所周知,陣列名本身就是指標 如果宣告乙個int a 5 那麼a就是乙個指標。既然無區別,為什麼還要設定兩種形參呢?顯然,這是考慮到了程式的可讀性。如果你希望傳遞陣列,就用前者 如果只是單純地想傳遞指標,就用後者 int a 和 int a 在...