1. 程式人生 > >流與緩沖區的理解

流與緩沖區的理解

min 緩沖 file 應用 之間 tails library 是個 std

流的概念

  • 流是一個 過程 ,一個 動態 的概念

(可以把流想象成水在水管中流動的過程,想象成商品快遞運送的過程。cin和cout就是 執行 流這個過程的人)

  • 流 負責 操作 緩沖區,輸入輸出流是 操作實現
    • 對於輸入,cin負責把輸入緩沖區中的內容傳遞給程序;
    • 對於輸出,cout負責把輸出緩沖區中的內容傳遞給屏幕。

(cin和cout把緩沖區的數據變成流,然後 搬運 到相應的目的地。cin和cout就是個 搬運工搬運的過程 就是流)


  • 程序流源流目標 之間的橋梁
    • 使得C++程序可以以 相同的方式 對待來自 鍵盤 的輸入和來自 文件 的輸入
    • C++程序只檢查 字節流
      ,而不需要知道字節來自何方
    • C++程序處理輸出的方式將獨立於其去向
  • 輸入流需要兩個連接,每端各一個
    • 文件端連接 提供了流的來源
    • 程序端連接 將流的流出部分轉儲到程序中
    • (文件端連接可以是文件,也可以是設備)
    • 對輸出的管理包括將 輸出流 連接到 程序 以及將 輸出目標 關聯起來

緩沖區的概念

  • 標準庫 提供緩沖是為了減少對read和write的調用(能更高效地處理輸入和輸出)

  • 用作中介的內存塊,將信息從設備傳輸到程序或從程序傳輸給設備的 臨時存儲工具

參考資料

C/C++中關於輸入輸出緩沖區和流的概念理解
c語言庫函數
c++文件和流
c++標準輸入輸出流
C++ STL 基礎及應用(4) 輸出輸出流
紅黑聯盟 https://www.2cto.com/kf/ware/cpp/index.html

流與緩沖區的理解