在 if 语句中,cin 如何计算为 true?

2023-11-23

我以为:

if (true) 
{execute this statement}

那么如何if (std::cin >> X)当没有什么“真实”的时候,执行为 true 吗?我可以理解如果是的话if ( x <= y) or if ( y [operator] x ),但是“istream = true”是什么样的逻辑?


答案取决于标准 C++ 库的版本:

  • C++11之前的内部转换if依赖于将流转换为void* using operator void*
  • 从 C++11 开始,转换依赖于operator bool of std::istream

注意std::cin >> X不仅是一个陈述,也是一个表达。它返回std::cin。 “链接”输入需要此行为,例如std::cin >> X >> Y >> Z。当您将输入放入if:结果流被传递到operator bool or operator void*,因此布尔值被输入到条件中。

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

在 if 语句中,cin 如何计算为 true? 的相关文章

随机推荐

  • 在 Excel VBA 工作簿的立即窗口中执行多行

    我是否只能在 Excel VBA 立即窗口中执行 1 个命令 有没有办法执行多个语句 使用冒号 将多个语句连接在一起的键 前任 MsgBox msgBox1 MsgBox msgBox2 将显示两个警报消息框
  • 使用 Java 连接到 Microsoft Dynamics CRM 本地 Web 服务?

    是否有任何在线资源显示使用 Java 编写的客户端访问 Microsoft CRM 本地 Web 服务的基本步骤 我应该使用哪个 Web 服务工具包 我尝试使用 JAXB 但 WSDL 元素命名存在冲突 需要类自定义 如果我找到正确的绑定修
  • 在C中访问另一个程序的变量

    在Python中 您可以使用id函数来了解变量的内存位置 因此 X Hello world print id X Output is equal to 139806692112112 0x7F27483876F0 我尝试使用 C 中的指针访
  • HashMap 的构建器

    Guava 为我们提供了很棒的 Java 类型工厂方法 例如Maps newHashMap 但是还有 java 地图构建器吗 HashMap
  • 确定弯曲、拉长区域的中线

    想象一下我有一个热狗的二维图像 我可以在热狗两端之间画一条直线 将此称为中线 它的属性之一是 2D 热狗围绕它具有最低惯性矩的轴 现在 如果我将热狗弯曲成弧形 这条中线也会扭曲 给定一张弯曲热狗的图片 我如何确定这条弯曲的中线 该算法应该容
  • 当在 apache httpd 中完成 URL 重写时,POST 请求将转换为 GET

    我有一个 apache Web 服务器 充当内部应用程序服务器的反向代理 我使用 ProxyPass 和 ProxyPassReverse 来实现这一点 我有多个上下文根映射到不同的应用程序 我正在尝试从一个上下文的域名中删除上下文根 以便
  • C# 反序列化 Json 未知键

    我有这个 JSON 我必须反序列化它 homepage http files minecraftforge net maven net minecraftforge forge promos 1 10 latest 12 18 0 2000
  • 如何从 ID3D11Texture2D 访问像素数据?

    我正在使用 Windows 桌面复制 API 来制定自己的镜像协议 我有这段代码 Get new frame HRESULT hr m DeskDupl gt AcquireNextFrame 500 FrameInfo DesktopRe
  • Python - 使用“导入信号”处理 CTRL+D

    I can currently handle CTRL C via def hand inter signum frame print hey nice job signal signal signal SIGINT hand inter
  • MAUI blazor 发生了未处理的错误

    如果程序中有错误 我会收到 发生未处理的错误 通过 Blazor Web 程序集 我可以在浏览器中打开开发人员工具来获取所发生情况的详细信息 这在 Blazor MAUI 中是不可能的 那么如何获取 Blazor MAUI 中的错误详细信息
  • 按下 JFrame 中的按钮后打开 JPanel [重复]

    这个问题在这里已经有答案了 我知道有人问过这个问题 但我未能找到解决方案 我创建了一个JFrame对于登录 我想在按下 Cont Nou 按钮后为新帐户打开一个带有 jpanel 的新窗口 但不知道如何使初始框架消失并显示带有 jpanel
  • 需要在 ExtendScript 中对对象进行 JSON 字符串化

    我正在使用 ExtendScript 处理 Indesign 文档链接的元数据信息 我想使用将对象转换为字符串JSON stringify但是当我使用它时 我收到错误消息 can t execute script in target eng
  • 为什么“if constexpr”的错误分支会被编译?

    为什么这段代码在编译时会出错 我的知识 还有this of if constexpr 说else块不应该被编译 if constexpr true int a 10 else int b 10 错误是 error expected or b
  • .Net Core 上的 OData 未在 $select 上返回正确的结果

    我已将 OData 添加到我的 WebAPI 项目中 版本 核心3 1 OData 7 3 0 测试版 以便与 Core 3 x 配合使用 EF 核心 3 1 0 这是我的startup cs public class Startup pu
  • Django:IE 无法加载本地主机或加载速度非常慢

    我刚刚开始学习 Django 在我的计算机上构建一个项目 运行 Windows 7 64 位 Python 2 7 Django 1 3 基本上 无论我写什么 它都会立即加载到 Chrome 和 Firefox 中 但对于 IE 版本 9
  • 读取 Cobol 生成的文件

    我目前正在编写一个 C 应用程序 该应用程序位于两个现有应用程序之间 我对第二个应用程序的了解是它处理第一个应用程序生成的文件 第一个应用程序是用 Cobol 编写的 脚步 1 Cobol 应用程序 写入一些文件并复制到目录中 2 第二个应
  • 在 vim 中将 ex 命令重定向到 STDOUT

    我正在尝试编写一个命令将 vim 的突出显示信息转储到 STDOUT 我可以成功写入这样的文件 vim redir gt outfile hi redir END q 在这之后 outfile包含正是我想要的 但我宁愿输出到 STDOUT
  • 使用 wget 和 SFTP 获取文件 [关闭]

    Closed 这个问题是无关 目前不接受答案 大家好 我每天晚上在 Linux 服务器上运行一个脚本 该脚本打算使用 wget 和 ftp 协议从另一个服务器获取文件 这些文件位于无法通过 HTTP 访问的文件夹下 这是使用的命令行 wge
  • std::list<>::sort 稳定吗?

    我找不到这个问题的任何明确答案 我想大多数实现都使用稳定的合并排序 但是稳定性是要求还是副作用 C 标准 ISO IEC 14882 2003 说 23 2 2 4 31 Notes 稳定 保留等效元素的相对顺序 如果抛出异常 列表中元素的
  • 在 if 语句中,cin 如何计算为 true?

    我以为 if true execute this statement 那么如何if std cin gt gt X 当没有什么 真实 的时候 执行为 true 吗 我可以理解如果是的话if x lt y or if y operator x