RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 1591023
Accepted
Das
Das
Asked:2024-08-17 16:31:00 +0000 UTC2024-08-17 16:31:00 +0000 UTC 2024-08-17 16:31:00 +0000 UTC

辛如何工作

  • 772

对象如何一步步cin详细地工作。那是:

  1. 控制台输入
  2. 保存到缓冲区等

是否有后续或中间环节?

c++
  • 2 2 个回答
  • 78 Views

2 个回答

  • Voted
  1. Best Answer
    Harry
    2024-08-18T12:17:18Z2024-08-18T12:17:18Z

    回答评论里的问题。

    好吧,我想我仍然承认有几个物理缓冲区是一种极其奇怪的实现(这就是我编写实现细节的原因),但处理它要简单得多,也更符合逻辑。而且,按道理来说,他是唯一的一个。

    根据标准,istream(basic_为简洁起见,所有内容都被省略)它使用streambuf,这是流的唯一逻辑缓冲区,并通过该缓冲区进行工作(再次 -逻辑上唯一的一个,并且可以在低级别完成的是第二件事,但是如果你读过它,那么很明显,虽然可以使用多个物理缓冲区,但它会导致严重的痔疮,所以我敢打赌根本无法找到具有多个缓冲区的实现。)

    此外,通过使用setbuf(),您可以使用自己的缓冲区。哪种强调在任何情况下都只有一个 - 我无法想象为什么在使用缓冲区的内部实现时应该有多个缓冲区,而一个与外部缓冲区。总是有一个缓冲区是合乎逻辑的,代码会更简单。在这种情况下,在缓冲区中移动指针的所有函数的实现都更简单。

    因此,尽管标准没有直接说明这一点,但物理流缓冲区仍然是唯一的。

    PS 标准的鉴赏家们,标准中没有直接指出只有一个物理缓冲区吗?否则,我会为特别变态的人留下漏洞:),但我不确定我这样做是否有充分的理由......

    • 3
  2. Matvj
    2024-08-17T19:32:44Z2024-08-17T19:32:44Z

    cin 具有一个变量

    控制台输入首先发生,直到用户按 Enter 键。输入期间,数据存储在缓冲区中。

    如果我们放置一个空格,则会启动一个新的输入缓冲区,但它不会保存到变量中,而只是被清除。

    输入结束时,缓冲区中的数据被写入变量。然后缓冲区被清除。

    具有多个变量的 cin

    首先,发生到控制台的输入;如果我们输入一个空格,则开始一个新的缓冲区。在此期间,数据存储在缓冲区中。当用户按下回车键时,输入结束。

    输入完成后,相应缓冲区中的数据将被重写到相应的变量中。然后缓冲区被清除。


    1-下文中,字缓冲器指的是输入缓冲器。

    • -1

相关问题

  • 编译器和模板处理

  • 指针。找到最小数量

  • C++,关于枚举类对象初始化的问题

  • 函数中的二维数组

  • 无法使用默认构造函数创建类对象

  • C++ 和循环依赖

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5