c++ - 用户提供的多余数据会怎样?

标签 c++ memory memory-management

在 C++ 中,如果给出了多余的输入,会发生什么情况?它是否被存储在某个地方或被完全忽略?

例如,这个示例代码:

#include <iostream>
using namespace std;
int main()
{
   char a, b, c;

   cout << "Enter three letters: ";

   cin.get(a).get(b).get(c);

   cout << "a: " << a << "\nb: " << b << "\nc: " << c << endl;
 return 0;
}

只需要三个字母,我就可以输入任意数量的字母。其余的都去哪儿了?最好无处可去...对吗?

最佳答案

它们进入输入缓冲区。当您的进程退出(不读取它们)时,缓冲区将被丢弃(以及未读的内容)。

关于c++ - 用户提供的多余数据会怎样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10811281/

相关文章:

c - 堆栈和堆地址

分割为2GB时的linux内存映射:2GB instead of 1GB:3GB

memory-management - CUDA 映射内存是否占用 GPU RAM?

c++ - 为什么第一个函数调用绑定(bind)到第一个函数?

c++ - 依赖初始化顺序

silverlight - 用于 silverlight 的内存分析器

C - 释放数组内的指针

c++ - QThread 与 std::thread

C++ 列表索引查询

ios - 导入大型数据集时的核心数据内存使用情况