C++ 缓冲区 (buffer)

Posted 我是小白呀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 缓冲区 (buffer)相关的知识,希望对你有一定的参考价值。

C++ 缓冲区

缓冲区

缓冲区 (buffer) 是内存空间的一部分. 在内存中会为每一个数据流开辟一个内存缓冲区.

在这里插入图片描述
缓冲区是用来存放流中的数据, 缓冲区中的数据就是流. 在 C++ 中, 输入输出流被定义为类, C++ 的 I/O 库中的类称为流类 (stream class). cout 和 cin 是 iostream 流类中的流对象.
在这里插入图片描述

例子

#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)的主要内容,如果未能解决你的问题,请参考以下文章

具有多个缓冲区的片段着色器颜色错误

Buffer lab——20145326蔡馨熠

C++ GTKMM,在文本缓冲区中得到一个奇怪的输出

使用 pybind11 从 C++ 反序列化 Python 中的 protobuf 缓冲区

缓冲区大小已更改

20179209《Linux内核原理与分析》第十二周作