为什么这个 lambda 可以流式传输?

2023-12-20

令我惊讶的是下面的代码打印1.

std::cout << [](const char* arg){ return arg[0]=='s'; } << std::endl;

有人可以解释一下吗?


它转换为函数指针,然后通过它转换为布尔值:

void foo ();
std::cout << &foo << std::endl;

打印相同的内容和相同的警告;我碰巧使用 gcc 设置为 17 标准进行编译,我看到:

main.cpp:6:56: warning: the address of 'static constexpr bool main()::<lambda(const char*)>::_FUN(const char*)' will never be NULL [-Waddress]
  std::cout << [](const char* arg){ return arg[0]=='s'; } << std::endl;

通过上面的代码,您会看到相同的警告。

在我的答案中添加一点:有一个流过载void*。然而,函数指针与数据指针不同,不能隐式转换为void*。函数指针唯一的隐式转换是boolean,当然还有bool的流操作,这样就选择了重载,就会发生隐式转换。看:如何用cout打印函数指针? https://stackoverflow.com/questions/2064692/how-to-print-function-pointers-with-cout.

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

为什么这个 lambda 可以流式传输? 的相关文章

  • 如何将包含 5000 条记录的 Excel 文件插入到 documentDB 中?

    我有一个 Excel 文件 最初约有 200 行 我能够将 Excel 文件转换为数据表 并且所有内容都正确插入到 documentdb 中 Excel 文件现在有 5000 行 在插入 30 40 条记录后不会插入 其余所有行不会插入到
  • SharpZipLib - 将文件夹/目录添加到 zip 存档

    通过示例 我很好地掌握了如何提取 zip 文件 几乎在每个示例中 识别 ZipEntry 是否为目录的方法如下 string directoryName Path GetDirectoryName theEntry Name string
  • 将图像文件从网址复制到本地文件夹?

    我有该图像的网址 例如 http testsite com web abc jpg http testsite com web abc jpg 我想将该 URL 复制到 c images 中的本地文件夹中 而且当我将该文件复制到文件夹中时
  • 如何使用 MVVM 更新 WPF 中编辑的数据? [复制]

    这个问题在这里已经有答案了 我正在为聊天应用程序构建 UI 设计 在尝试更新所选联系人的消息时遇到问题 选择现有联系人 选择编辑选项 然后编辑其属性 例如用户名和图像 后 唯一进行的更改是联系人的用户名和图像 我仍然想更改 MessageM
  • 使用 OpenGL 着色器进行数学计算 (C++)

    我有一个矩阵 例如 100x100 尺寸 我需要对每个元素进行计算 matrix i j tt 8 5例如 我有一个巨大的矩阵 我想使用 OpenGL 着色器来实现该算法 我想使用着色器 例如 uniform float val unifo
  • C# 中四舍五入到偶数

    我没有看到 Math Round 的预期结果 return Math Round 99 96535789 2 MidpointRounding ToEven returning 99 97 据我了解 MidpointRounding ToE
  • 用户控件内所有控件均为空

    我有一个 UserControl 它使用 UserControl 以及其他控件 In the ascx文件我有以下代码
  • 导出类时编译器错误

    我正在使用 Visual Studio 2013 但遇到了一个奇怪的问题 当我导出一个类时 它会抛出 尝试引用已删除的函数 错误 但是 当该类未导出时 它的行为会正确 让我举个例子 class Foo note the export cla
  • Qt 计算和比较密码哈希

    目前正在 Qt 中为测验程序构建面向 Web 的身份验证服务 据我了解 在数据库中存储用户密码时 必须对其进行隐藏 以防落入坏人之手 流行的方法似乎是添加的过程Salt https en wikipedia org wiki Salt cr
  • 如何在 Asp.net Gridview 列中添加复选框单击事件

    我在 asp 中有一个 gridview 其中我添加了第一列作为复选框列 现在我想选择此列并获取该行的 id 值 但我不知道该怎么做 这是我的 Aspx 代码
  • 默认值 C# 类 [重复]

    这个问题在这里已经有答案了 我在控制器中有一个函数 并且我收到表单的信息 我有这个代码 public Actionresult functionOne string a string b string c foo 我尝试将其转换为类似的类
  • C# datagridview 列转入数组

    我正在用 C 构建一个程序 并在其中包含一个 datagridview 组件 datagridview 有固定数量的列 2 我想将其保存到两个单独的数组中 但行数确实发生了变化 我怎么能这样做呢 假设一个名为 dataGridView1 的
  • 指向字节数组的指针

    由于 Misra C 的要求 我的一位同事想要使用指针声明 但我遇到了一些问题 Misra 安全关键指南 不会让我们纯粹的程序员使用指针 但会让我们对数组字节进行操作 他打算获取一个指向字节数组的指针 因此我们不会在堆栈上传递实际的数组 T
  • 编译器错误“错误:在文件范围内可变地修改了‘字符串’”

    考虑 include
  • .NET JIT 编译的代码缓存在哪里?

    NET 程序首先被编译为 MSIL 代码 当它被执行时 JIT编译器会将其编译为本机机器代码 我想知道 这些JIT编译的机器代码存储在哪里 它只存储在进程的地址空间中吗 但由于程序的第二次启动比第一次快得多 我认为即使在执行完成后 该本机代
  • ASP.NET Core Razor Page 多路径路由

    我正在使用 ASP NET Core 2 0 Razor Pages 不是 MVC 构建系统 但在为页面添加多个路由时遇到问题 例如 所有页面都应该能够通过 abc com language 访问segment shop mypage 或
  • 如何将对象转换为传递给函数的类型?

    这不会编译 但我想做的只是将对象转换为传递给函数的 t public void My Func Object input Type t t object ab TypeDescriptor GetConverter t ConvertFro
  • g++ C++0x 枚举类编译器警告

    我一直在将可怕的 C 类型安全伪枚举重构为新的 C 0x 类型安全枚举 因为它们是way更具可读性 不管怎样 我在导出的类中使用它们 所以我明确地将它们标记为导出 enum class attribute visibility defaul
  • 无法使 Polly 超时策略覆盖 HttpClient 默认超时

    我正在使用 Polly 重试策略 并且正如预期的那样 在重试过程中HttpClient达到 100 秒超时 我尝试了几种不同的方法来合并 Polly 超时策略 将超时移至每次重试而不是总计 但 100 秒超时仍然会触发 我读过大约 5 个
  • FindAsync 很慢,但是延迟加载很快

    在我的代码中 我曾经使用加载相关实体await FindAsync 希望我能更好地遵守 C 异步指南 var activeTemplate await exec DbContext FormTemplates FindAsync exec

随机推荐

  • android 绑定到 AccessibilityService

    我创建了一个android服务 它是AccessibilityService 根据我的活动 我想绑定到该服务 没有进程间通信 所以我尝试创建一个本地Binder仅返回服务的实现 如本例所示http developer android com
  • 在webapp中获取当前的svn版本

    在 java web 应用程序中显示 使用修订号的最佳方式是什么 我们只使用 ant 来构建我们的 war 存档 没有构建服务器之类的 我希望有某种 if ref 可以写入资源文件中 但这仅在提交相关文件时更新 我在全球范围内都需要它 你会
  • 如何搜索包含 JSON 数组的 SQL 列

    我有一个包含单个 JSON 数组的 SQL 列 names Joe Fred Sue 给定一个搜索字符串 如何使用 SQL 在名称数组中搜索匹配项 我正在使用 SQL 2016 并查看了 JSON QUERY 但不知道如何在 JSON 数组
  • 嵌套 For 循环转换为嵌套 Promise

    我遇到了一个问题 我的程序仅在一次迭代时结束nameList 而且我不太确定不合逻辑的代码在哪里 全局给出 var require underscore var nameList Bob Susie var jsonDict 我复杂的嵌套从
  • Sublime Text 2 的 Goto Anything 中的这些数字是什么

    我已经用谷歌搜索了很多 但不幸的是 当你Ctrl P Goto Anything 在 Sublime Text 2 中 Ideas 据传闻 指示您的输入描述该文件的可能性有多大 随着比赛质量的提高而提高 在屏幕截图中输入 应用程序 应该会产
  • SQLSTATE[22003]:数值超出范围:1264 超出范围值

    我的 WAMP 服务器的十进制是十进制 5 2 我的查询异常 SQLSTATE 22003 数值超出范围 1264 第 1 行的列 converted 1000ml 的值超出范围 SQL 插入inventory databanks prod
  • Pycharm代码重新格式化:按运算符对齐行

    在 Jetbrains Pycharm 专业版 2016 1 中 是否有一种方法 内置或第三方 修改 python 中的代码样式以通过运算符 特别是赋值运算符 对齐连续行 例如 我想 var1 5 variable2 10 varbl3 1
  • utf8_bin 与 utf_unicode_ci

    我的餐桌网站 Website Name column name Google Facebook Twitter Orkut Frype Skype Yahoo Wikipedia 我使用 utf8 bin 排序规则 然后我在网站中搜索维基百
  • PHP 内置服务器和 .htaccess mod 重写

    PHP 的内置服务器不使用 htaccess 吗 我认为这是有道理的 因为它不依赖 Apache 不管怎样 是否可以告诉服务器使用这些文件 它可以处理 URL 重写吗 我的框架中有一些依赖这些文件的项目 APPLICATION ENV de
  • Python 类方法中类似 C 的静态变量

    经过 20 年的 C 经验之后 我正在努力学习 Python 现在我想要一个方法 类内的函数 它有自己的 静态 变量 而不是静态变量class多变的 也许伪代码示例可以更好地说明我想要的东西 class dummy staticmethod
  • 在 Sencha Touch 2.2.1 中运行应用程序示例时出现 JavaScript 错误

    我开始在 Windows 8 上使用最新的 Sencha Touch 2 2 1 开发移动应用程序 我做了以下步骤http docs sencha com touch 2 2 1 guide getting started http doc
  • ObjectDataSource 找不到非泛型方法

    我有这个 ASP NET 代码
  • 如何限制 NSTextField 文本长度并始终保持大写?

    需要有一个 NSTextField 其文本限制最多为 4 个字符 并且始终以大写形式显示 但无法找到实现这一目标的好方法 我尝试通过与验证方法的绑定来完成此操作 但只有当控件失去第一响应者时才会调用验证 这不好 我暂时通过观察文本字段上的通
  • 当显示键盘时,所有内容都会被推起,并且出现错误

    我有以下代码 class MyHomePageState extends State override Widget build BuildContext context This method is rerun every time se
  • Perl 使用/需要绝对路径?

    如果我有一个 pm文件 有什么办法可以use它 而不把它放在我的 INC小路 我认为这在我的特定用例中会更清晰 比使用相对路径或将此目录添加到更清晰 INC 编辑 澄清 我希望避免遍历每个项目的必要性 INC 而是直接指定我感兴趣的文件 例
  • 为什么 Visual Studio 2010 中的字体模糊?

    我最近切换到 Visual Studio 2010 我一直使用好的旧像素化字体 因为我发现它更容易阅读 一个像素是黑色 另一个是白色 完美 在 Visual Studio 2005 中 我使用位图字体 在VS 2010中似乎必须使用TTF
  • 在 R 中使用美国各州数据绘制(填充颜色)地图

    我有以下数据要绘制在美国各州地图上 x data frame state x77 Income 如何将这些绘制为地图上各州的颜色填充 我可以绘制地图 map state boundary TRUE col colorRampPalette
  • JSF 异常部署到 FireFly,标记名为 inputFile null handler-class

    我正在尝试学习 JSF 但在部署任何项目时遇到问题 我已经安装了以下内容 Eclipse 开普勒版本 2用于 Eclipse 的 JBoss 工具野蝇8Maven 3 2 1Java JDK 8莫哈拉2 2 6 我创建并下载示例项目的 JS
  • BigQuery,如何在where子句中使用别名?

    我有这个小查询 BigQuery 无法识别别名 maxdate 我试图返回表 但仅限于最后一个日期 WITH maxdate AS SELECT MAX DATE SETTLEMENTDATE FROM biengine 252003 ae
  • 为什么这个 lambda 可以流式传输?

    令我惊讶的是下面的代码打印1 std cout lt lt const char arg return arg 0 s lt lt std endl 有人可以解释一下吗 它转换为函数指针 然后通过它转换为布尔值 void foo std c