我一直在考虑键盘处理。它是如何工作的?我似乎无法用谷歌搜索我的解释。
我知道每次按下一个键都会产生一个键盘中断。处理器暂停它正在处理的任何事情,并从键盘缓冲区加载键盘数据,将其存储在系统级缓冲区中。
但接下来会发生什么?让我们举一个实际的例子。当我运行以下代码时会发生什么:
...
std::string s;
std::cin >> s;
....
是否cin
从系统级键盘缓冲区的用户级表示中读取?这在我的脑海中非常有意义,因为可以从同一个缓冲区读取 2 个或更多进程,这样我就不会松开任何按键。但它是这样工作的吗?
我知道我说的是非常笼统的说法。我使用的操作系统是 OS X。