91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++ 緩沖區(buffer)的使用方法

發布時間:2021-06-15 15:17:47 來源:億速云 閱讀:2278 作者:chen 欄目:開發技術

這篇文章主要講解了“C++ 緩沖區(buffer)的使用方法”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“C++ 緩沖區(buffer)的使用方法”吧!

緩沖區

緩沖區 (buffer) 是內存空間的一部分. 在內存中會為每一個數據流開辟一個內存緩沖區.

緩沖區是用來存放流中的數據, 緩沖區中的數據就是流. 在 C++ 中, 輸入輸出流被定義為類, C++ 的 I/O 庫中的類稱為流類 (stream class). cout 和 cin 是 iostream 流類中的流對象.

C++ 緩沖區(buffer)的使用方法

為什么要引入緩沖區

我們為什么要引入緩沖區呢?
比如我們從磁盤里取信息,我們先把讀出的數據放在緩沖區,計算機再直接從緩沖區中取數據,等緩沖區的數據取完后再去磁盤中讀取,這樣就可以減少磁盤的讀寫次數,再加上計算機對緩沖區的操作大大快于對磁盤的操作,故應用緩沖區可大大提高計算機的運行速度。
又比如,我們使用打印機打印文檔,由于打印機的打印速度相對較慢,我們先把文檔輸出到打印機相應的緩沖區,打印機再自行逐步打印,這時我們的CPU可以處理別的事情。
現在您基本明白了吧,緩沖區就是一塊內存區,它用在輸入輸出設備和CPU之間,用來緩存數據。它使得低速的輸入輸出設備和高速的CPU能夠協調工作,避免低速的輸入輸出設備占用CPU,解放出CPU,使其能夠高效率工作

緩沖區的類型

緩沖區 分為三種類型:全緩沖、行緩沖和不帶緩沖。
1、全緩沖
在這種情況下,當填滿標準I/O緩存后才進行實際I/O操作。全緩沖的典型代表是對磁盤文件的讀寫。
2、行緩沖
在這種情況下,當在輸入和輸出中遇到換行符時,執行真正的I/O操作。這時,我們輸入的字符先存放在緩沖區,等按下回車鍵換行時才進行實際的I/O操作。典型代表是鍵盤輸入數據。
3、不帶緩沖
也就是不進行緩沖,標準出錯情況stderr是典型代表,這使得出錯信息可以直接盡快地顯示出來。
緩沖區的刷新
下列情況會引發緩沖區的刷新:
1、緩沖區滿時;
2、執行flush語句;
3、執行endl語句;
4、關閉文件。

例子

#include <iostream>
using namespace std;

int main() {
    int n[5];
    for (int i = 0; i < 5; ++i) {
        cin >> n[i];
        cout << n[i] << endl;
    }
    
    return 0;
}

一個一個輸入:

1
1
2
2
3
3
4
4
5
5

輸入一個, 即刻輸出, 每次均需待鍵盤輸入.

一次性輸入:

1 2 3 4 5
1
2
3
4
5

每次循環僅要一個整數, 但輸入緩沖區中卻一次放入了 5 個整數.

感謝各位的閱讀,以上就是“C++ 緩沖區(buffer)的使用方法”的內容了,經過本文的學習后,相信大家對C++ 緩沖區(buffer)的使用方法這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

九龙坡区| 江西省| 大邑县| 淮阳县| 碌曲县| 哈密市| 合作市| 类乌齐县| 乐至县| 班戈县| 苍梧县| 澄江县| 安陆市| 义马市| 铅山县| 枣强县| 仁怀市| 太湖县| 漾濞| 祁东县| 汽车| 通榆县| 武安市| 宜川县| 明水县| 广汉市| 会泽县| 惠水县| 金秀| 罗田县| 志丹县| 象州县| 郑州市| 蓬溪县| 华容县| 永城市| 九江县| 鄂伦春自治旗| 漾濞| 平塘县| 辽阳县|