C 中cout與printf的區別

2021-10-10 08:57:04 字數 575 閱讀 9486

cout輸出原理:

1、使用過載:根據輸出內容的型別來過載不同型別的函式,所以可以輸出包括自定義型別在內的多種型別。

舉個例子——在cout中,相當於有很多cout的同名函式,但它們有不同型別的引數:如int float char等,當"輸出內容"為char型別時,呼叫引數為char的cout函式

2、開闢緩衝區:定義每乙個流物件時,系統會在記憶體中開闢一段緩衝區,用來暫存資料(系統內有多個緩衝區)。當收到endl時,cout行會進行換行,同時重新整理緩衝區。cout輸出過程:先將輸出字元放入緩衝區,然後輸出到螢幕。

——當緩衝區滿或者收到結束符時,會將緩衝區資料一併清空並在顯示裝置輸出。

printf輸出原理:

1、型別由%d,%f等規定;

2、輸出時沒有緩衝區。

cout: std::cout<<「任意型別函式」如果你是做io比賽的或者是做acm的,盡量不要用cin,cout,你試試列印99999999就知道,它們之間速度大概相差10幾倍

——列印速度部分引自

過載:函式或者方法有相同的名稱,但是引數列表不相同的情形,這樣的同名不同引數的函式或者方法之間,互相稱之為過載函式或者方法。

C 中cout與printf區別

vc環境c 測試乙個判斷系統是大小端的程式時候遇到了問題,如下 加入了改正後的cout與printf對比 include include using namespace std union endian void main 所以沒有特殊要求,請不要混用iostream和stdio。尤其是如果你的程式...

cout與printf的混用問題

在某題的輸出混用了cout與printf 結果輸出的順序出錯。把原因歸結為乙個帶緩衝而乙個不帶緩衝。因為stdio.h中定義了像ungetc 這樣的函式,其作用是將字元放回到輸入流中。可見stdio中也是使用了緩衝的。那麼為什麼cout與printf 混用會發生問題呢?include using n...

關於本地cout與printf輸出不同的問題

2020.12.31 今天,我做著題,一道題我死活調不出來。答案總是乙個特別大的數。我 然後呢,我又檢查了一遍,沒有錯。這時,調程式的我用cout打出了中間變數,結果 答案正確了 jk 不死心的我又把printf換成了cout,哎,就在這一剎那。答案竟然也對了。jk 後來我找到問題了,原來是int定...