为什么 `std::invoke` 不是 constexpr?

2024-01-04

不应该std::调用 http://en.cppreference.com/w/cpp/utility/functional/invoke be constexpr尤其是之后C++17 中的 constexpr lambda http://en.cppreference.com/w/cpp/language/lambda?

有什么障碍可以阻止这种情况发生吗?


Update: P1065 https://wg21.link/p1065会成功的constexpr.


由于历史原因保留原帖:

From 提案 http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4169.html:

尽管可以将符合标准的调用函数模板实现为 constexpr 函数,但建议的措辞不需要这样的实现。主要原因是使其与现有的标准函数对象保持一致,这些对象可以具有这样的定义,例如 std::mem_fn、std::reference_wrapper 和运算符包装器。此外,强加这样的要求将阻止引用 std::mem_fn 的调用的实现。

该提案假设头中的 constexpr 添加将由单独的提案一致应用。

基于 constexpr 和标准库的实现都在提案的可实现性部分中介绍。


相关 CWG 问题 #1581:什么时候constexpr成员函数定义? http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_active.html#1581.

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

为什么 `std::invoke` 不是 constexpr? 的相关文章

随机推荐

  • 在 Visual Studio Code for Go 中自动完成括号

    在使用 Visual Studio Code 时 我注意到当我从自动完成功能编写函数时 它永远不会使用括号自动完成 例如 fmt now select a function Print a interface from autocomple
  • 如何使用 Flask 跟踪匿名用户

    我的应用程序实现了一个购物车 匿名用户可以在其中添加产品 仅在付款前才需要用户登录 如何实施 主要的挑战是 Flask 必须跟踪用户 即使是匿名的 及其订单 我目前的方法是利用AnonymousUserMixin被分配给的对象current
  • 将绘图嵌入到 PyQt5 中的图形视图中

    I use pyqtgraph在 PyQt5 GUI 中绘图 我可以在弹出窗口中绘图 但我正在尝试将图表嵌入到graphicsView area 以下是我在新窗口中绘制简单绘图的方法 self pushButton clicked conn
  • Base64 字符串转 UIImage

    我正在尝试将 base64 字符串解码为 Swift 中的 UIImage 我的示例图像的编码字符串开头为 数据 图像 jpeg base64 9j 2wBDAAYEBQYFBAYGBQYHBwYIChAKC 完整的编码字符串可以在以下位置
  • 我可以使用传递到组件的变量来设置 svelte 样式 css 属性值吗

    我想创建一个接收图像名称和路径的简洁组件 我想让组件使用 CSS 将图像设置为 背景图像 我已经尝试过以下似乎不起作用 调用的组件应用程序 svelte
  • 为什么故事板没有反映我使用属性检查器面板设置到 UILabel 的文本属性?

    我在故事板上有一个 UILabel 默认文本为 标签 然后 我转到属性检查器并选择属性文本样式 当我单击 文本 字段时 我会在新窗口中看到多种字体可供选择 我看到本例中的默认文本已设置为 Helvetica 大小 17 0 在浏览所提供的字
  • 字符串未更新

    我正在使用 MVC 和 PDO 我试图根据会话是否为空来更新字符串 因此在我的 index phtml 中我有 p Welcome back a href logout php a p p Hello would you like to a
  • Matlab:更改图例中条目的顺序

    我有一个图形文件 我想在其中更改条目的顺序 例如 将第一个条目作为第三个条目 我很久以前就保存了这个Figure fig 所以我不确定是否可以恢复原始代码 这里我向你展示我的情节 我希望图例元素按降序排列 如图所示 但由于错误 我的第二个条
  • Linux:proc/net/sockstat tcp mem越来越大

    现在 我们的系统发现hang和tcp mem越来越大 proc net sockstat 当出现hang时 将打印 tcp 孤立套接字太多 From sockstat 我们知道socket很少 但是消耗了1500 page mem 为什么呢
  • BASH shell 脚本 echo 在同一行输出

    我有一个简单的 BASH shell 脚本 用于检查 curl 命令的 HTTP 响应代码 逻辑很好 但我坚持 简单地 打印出 输出 我使用的是 GNU bash 版本 3 2 25 1 release x86 64 redhat linu
  • 修剪章鱼 - 删除不属于 O(N) 循环的有向图的所有分支

    Preliminaries safe to skip This question is in relation with Longest Path for Directed Cyclic Graph https stackoverflow
  • 修复了开发办公套件时 Visual Basic 中 FontSize 函数的错误

    在花了几个小时研究 FontSize 函数后 我被一段代码困住了 字体列表 每当我想定义每个字体具有相同的大小时 它会自动将其缩放到72 我浏览了互联网以了解如何获取字体列表 这很有效 但是当我将 fontSize 添加到 sizecomb
  • SunPkcs11 实现的 64 位替代方案 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我们使用中间件来构建通过 JDK 1 6 30 64 位安装程序安装的软件应用程序 我们最近收到使用 U
  • 使用 Matplotlib 以非阻塞方式绘图

    我在尝试使 matplotlib 绘制函数而不阻止执行时遇到问题 我尝试过使用show block False 正如有些人建议的那样 但我得到的只是一个冻结的窗口 如果我只是打电话show 结果被正确绘制 但执行被阻止 直到窗口关闭 从我读
  • 并非 CSS 样式类的所有属性都适用

    我将以下内容写在 CSS 文件中 span hoverhelp border double border width 3 border color 000000 background color eeffcc padding 5 font
  • 从 Servlet 到 JSP

    当尝试在我的 servlet 中传递用 HTML 构建的表时 如下所示 response setContentType text html PrintWriter out response getWriter out println out
  • 将 Write-Host 语句重定向到文件

    我有一个正在调试的 PowerShell 脚本 并且想要重定向所有脚本写主机 https learn microsoft com en gb powershell module Microsoft PowerShell Utility Wr
  • PSCmdlet 动态自动完成参数(如 Get-Process)

    在 powershell 中 某些参数具有动态自动完成行为 例如 获取 处理参数名称 我可以使用 TAB 遍历所有流程 我想在我的 PSCmdlet 中使用此行为 但问题是 我只知道如何使用静态自动完成值来做到这一点 参见示例 public
  • WCF WebApi 的自托管不接受 PUT 动词

    我使用以下方法组合了一个 HTTP 驱动的 APIWCF Web API http wcf codeplex com使用 PUT 动词 当托管在 IIS Express 上托管的 MVC3 项目内部时 一切都会按设计运行 然而 当我进行单元
  • 为什么 `std::invoke` 不是 constexpr?

    不应该std 调用 http en cppreference com w cpp utility functional invoke be constexpr尤其是之后C 17 中的 constexpr lambda http en cpp