使用 cout 和 cin 时,“<<”和“>>”运算符的作用是什么?为什么要使用它们?

2023-11-30

例如:

int age;
cin >> age;

cout << "You are " << age << " years old!" << endl;

为什么我们在这里使用“>”运算符?他们在做什么?我有点理解位移,但我不明白它在这里是如何工作的。


他们被称为流插入运算符 (<<)和流提取算子 (>>).

这些运算符与左移位运算符和右移位运算符相同(即使它们具有不同的名称)。移位运算符是重载的,因此当左侧是流时,它们会从该流中读取或写入该流。

它们就像任何函数调用一样 - 其工作原理如下:

leftShift(leftShift(leftShift(leftShift(cout, "You are "), age), " years old!"), endl);

除了该函数被称为operator<<代替leftShift.
严格来说,没有理由调用函数leftShift必须进行左移,同样没有理由调用函数operator<<必须做左移。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 cout 和 cin 时,“<<”和“>>”运算符的作用是什么?为什么要使用它们? 的相关文章

  • 格式说明符%02x

    我有一个简单的程序 include
  • C#.Net 邮件将进入垃圾邮件文件夹

    我正在从 ASP net Web 应用程序发送电子邮件 邮件发送成功 没有失败 但大多数都进入了垃圾邮件文件夹 请帮助我克服垃圾邮件过滤器 我的发送邮件代码 public void SendMail string FromAddress s
  • C# 中的 Stack<> 实现

    我最近一直在实现递归目录搜索实现 并且使用堆栈来跟踪路径元素 当我使用 string Join 连接路径元素时 我发现它们被颠倒了 当我调试该方法时 我查看了堆栈 发现堆栈内部数组中的元素本身是相反的 即最近 Push 的元素位于内部数组的
  • C# 中一次性对象克隆会导致内存泄漏吗?

    检查这个代码 class someclass IDisposable private Bitmap imageObject public void ImageCrop int X int Y int W int H imageObject
  • 混合模型优先和代码优先

    我们使用模型优先方法创建了一个 Web 应用程序 一名新开发人员进入该项目 并使用代码优先方法 使用数据库文件 创建了一个新的自定义模型 这 这是代码第一个数据库上下文 namespace WVITDB DAL public class D
  • MVC 5 中具有 ASP.NET Identity 的 Autofac 不会验证 OWIN 管道中的安全标记

    我在 MVC 5 中设置了 AutoFac 来与 ASP NET Identity 一起使用 表面上一切似乎都工作正常 即用户可以创建帐户并登录 但后来我发现 当安全标记更改时 用户不会注销 通过在 AspNetUsers 表中进行暴力破解
  • 来自嵌入图像的 BitmapSource

    我的目标是在 WPF 窗口上重写 OnRender 方法中绘制图像 someImage png 它是嵌入资源 protected override void OnRender System Windows Media DrawingCont
  • 保证复制省略是否适用于函数参数?

    如果我理解正确的话 从 C 17 开始 这段代码现在要求不进行任何复制 Foo myfunc void return Foo auto foo myfunc no copy 函数参数也是如此吗 下面的代码中的副本会被优化掉吗 Foo myf
  • MySQL 连接器 C++ 64 位在 Visual Studio 2012 中从源代码构建

    我正在尝试建立mySQL 连接器 C 从源头在视觉工作室2012为了64 bit建筑学 我知道这取决于一些boost头文件和C 连接器 跑步CMake生成一个项目文件 但该项目文件无法编译 因为有一大堆非常令人困惑的错误 这些错误可能与包含
  • 调用 .ToArray() 时出现 ArgumentException

    我有一个经常被清除的列表 代码完全是这样的 VisitorAgent toPersist List
  • 如何在C#中控制datagridview光标移动

    我希望 datagridview 光标向右移动到下一列 而不是在向单元格输入数据后移动到下一行 我试图通过 dataGridView1 KeyDown 事件捕获键来控制光标 但这并不能阻止光标在将数据输入到单元格后移动到下一行 提前感谢你的
  • 构建 C# MVC 5 站点时项目之间的处理器架构不匹配

    我收到的错误如下 2017 年 4 月 20 日构建 13 23 38 C Windows Microsoft NET Framework v4 0 30319 Microsoft Common targets 1605 5 警告 MSB3
  • 如何编写一个接受 int 或 float 的 C 函数?

    我想用 C 语言创建一个扩展 Python 的函数 该函数可以接受 float 或 int 类型的输入 所以基本上 我想要f 5 and f 5 5 成为可接受的输入 我认为我不能使用if PyArg ParseTuple args i v
  • 如何从 Windows Phone 7 模拟器获取数据

    我有一个 WP7 的单元测试框架 它在手机上运行 结果相当难以阅读 因此我将它们写入 XDocument 我的问题是 如何才能将这个 XML 文件从手机上移到我的桌面上 以便我可以实际分析结果 到目前为止 我所做的是将 Debugger B
  • 如何获取带有某个属性注释的所有属性?

    我刚刚从 Roslyn 开始 我想找到所有用属性名称 OneToOne 注释的属性 我启动了 SyntaxVisualizer 并能够获取对该节点的引用 但我想知道是否有更简单的方法来实现此目的 这就是我所拥有的 var prop docu
  • 如何组合两个 lambda [重复]

    这个问题在这里已经有答案了 可能的重复 在 C 中组合两个 lambda 表达式 https stackoverflow com questions 1717444 combining two lamba expressions in c
  • Streamwriter 覆盖 txt 文件中的文本

    有没有什么方法可以重新打开流写入器而不创建新的写入对象 因为此时 当调用 WriteOdd 时 streamwriter 正在覆盖在它之前调用的 WriteEven public void WriteEven StreamWriter wr
  • 从后面的代码添加外部 css 文件

    我有一个 CSS 文件 例如 SomeStyle css 我是否可以将此样式表文档从其代码隐藏应用到 aspx 页面 您可以将文字控件添加到标头控件中 Page Header Controls Add new System Web UI L
  • 声明一个负长度的数组

    当创建负长度数组时 C 中会发生什么 例如 int n 35 int testArray n for int i 0 i lt 10 i testArray i i 1 这段代码将编译 并且启用 Wall 时不会出现警告 并且似乎您可以分配
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内

随机推荐

  • 使用 LibGDX 登录 Google

    我有问题 我正在用 LibGDX 制作游戏 现在我想实现Google登录 我到处寻找 但什么也没找到 我需要的是一个解析器来抽象特定平台的代码 但我不知道该怎么做 有人可以帮忙吗 EDIT 这是代码 这是我的 Android 解析器 pub
  • 用于在页面内创建 div 样式窗口的 JavaScript 库

    我试图找到一个好的 JavaScript 库 它可以在我网站的页面中创建一个漂亮的 内部窗口 弹出窗口 我不想担心屏幕定位 即不必计算窗口的大小是否会超出屏幕等 而只需制作一个包含内容的新弹出窗口 我将使用 NET 3 5 ASP NET
  • 使用 Plink 在另一台服务器(jumphost)后面的远程服务器上执行命令

    我正在尝试使用 Power Automate Desktop for PuTTY 进行自动化 我遇到了一个使用 cmd 来运行命令的解决方案plink 我使用了以下步骤 我将PuTTY添加到系统变量中 我使用了命令 在cmd中 plink
  • CRM 2013 中的富文本编辑器 (WYSIWYG)

    有时 CRM 界面中的 HTML 编辑器很有用 可以直接在 CRM 2013 中实现编辑器 作为编辑器 我们将使用 ckeditor 它允许在不安装在服务器上的情况下使用它 确定您想要使用富文本编辑器的字段 Create html 网络资源
  • 如何在同一时间 shell 中读取两个文件

    我有两个文件 A john 1 2 3 4 5 6 7 Ely 10 9 9 9 9 9 9 Maria 3 5 7 9 2 1 4 Rox 10 10 10 10 10 10 10 B john 7 5 Ely 4 5 Maria 3 7
  • 对 top_hits 聚合求和

    简而言之 问题是 如果我对每个存储桶的 top hits 进行聚合 如何对结果结构中的特定值求和 Details 我有许多记录 其中包含每个商店的一定数量 我想获得每个商店所有最新记录的总和 为了获取每个商店的最新记录 我创建了以下聚合 l
  • 最新 Xamarin Forms 2.2.0.45 上存在数百个 Resource.Designer.cs 构建错误

    我有一个新的 Xamarin Forms 解决方案设置 其中包含 PCL iOS 应用程序 构建良好 和 Android 项目 Android 项目已更新为 Xamarin Forms 2 2 0 45 的最新 Nuget 包 以匹配 PC
  • git 无法执行“pack-objects”:权限被拒绝

    从我刚刚添加的自托管 git 远程拉取时 我收到此错误 git pull myremote master fatal cannot exec pack objects Permission denied fatal git upload p
  • 错误 C3861:“initNode”:找不到标识符

    我收到以下编译错误 错误 C3861 initNode 找不到标识符 下面是代码 include
  • 我可以在选择列表中使用 Postgres 关键字作为别名吗?

    今天早上我遇到了一个奇怪的问题 我正在创建一个视图来简化 Postgres 表中的应用程序列表 这失败了 CREATE OR REPLACE VIEW application view AS SELECT COALESCE nullif f
  • 创建带有参数的 bash 脚本

    我知道如何在 bash 中提出问题 例如 您想创建一个目录吗 并根据该输入执行某些操作 但我想创建一个 bash 脚本 我可以这样做 somescriptname sh install somescriptname sh update so
  • 如何在 PyCharm 中获得 COM 编程的代码完成?

    使用时app win32com client Dispatch Some Application PyCharm中有没有可行的方法来完成代码 必须重新输入 或复制粘贴 API 文档中的所有内容是相当乏味的 因此创建骷髅是 是否没有其他方法可
  • UITextView setText 在 ios8 中不应跳转到顶部

    以下 iOS 8 代码每秒被调用一次 void appendString NSString newString toTextView UITextView textView textView scrollEnabled NO textVie
  • Outlook 的多合一插件

    我想开发一款适用于 Outlook 的一体化插件 这意味着该加载项将可用于所有 Outlook 客户端 桌面 Web 我读here我可以做到这一点 我已经为 Outlook Web 应用程序创建了加载项 并尝试将其部署到桌面客户端 但不知道
  • 在node.js中使用graphicsmagick提取gif帧

    我正在尝试使用node js 上的graphicsmagick 将gif 转换为png 在他们的文档中 他们有以下代码 pull out the first frame of an animated gif and save as png
  • 如何使 xmlserializer 仅序列化纯 xml?

    我需要获取纯 xml 而不需要在开始时和xmlns xsi http www w3 org 2001 XMLSchema instance xmlns xsd http www w3 org 2001 XMLSchema 在第一个元素中Xm
  • 在同一张图中绘制多个相似数据

    我想生成一个图 X 与 Y Z 值取决于 Y 示例如下图所示 X 的矩阵大小与 Z 相同 但与 Y 不同 我可以将 Z 对 X 绘制出来 但我想将所有图组合成一个图 并将 Y 对 X 进行绘制 我可以将多个图绘制成一个图 但图是互相重叠的
  • 返回数组中元素的索引 Excel VBA

    我有一个数组 prLst 它是整数列表 整数未排序 因为它们在数组中的位置代表电子表格上的特定列 我想知道如何在数组中找到特定整数并返回其索引 似乎没有任何资源向我展示如何在不将数组转换为工作表上的范围的情况下进行操作 这似乎有点复杂 这对
  • jqGrid 过滤时的分组状态

    我正在为 jqGrid 网格使用过滤器 数据分组 默认第一个状态为折叠 如果用户打开一个或两个组 展开组 则进行过滤 网格重新加载数据 正确过滤它 但随后我会松开用户打开的组的展开状态 有没有办法不使用它 在执行过滤器时切换回默认的折叠状态
  • 使用 cout 和 cin 时,“<<”和“>>”运算符的作用是什么?为什么要使用它们?

    例如 int age cin gt gt age cout lt lt You are lt lt age lt lt years old lt lt endl 为什么我们在这里使用 gt 运算符 他们在做什么 我有点理解位移 但我不明白它