整型的 std::isnan 和 std::isinf 重载

2024-04-03

Cppreference 提到了重载std::isnan https://en.cppreference.com/w/cpp/numeric/math/isnan and std::isinf https://en.cppreference.com/w/cpp/numeric/math/isinf(也许还有其他人)整数类型。这使得以下调用明确的:

std::isnan(1);

但是,我找不到 C++ 标准中提到的任何此类重载。我检查了 C++11 和当前草案 http://eel.is/c++draft/cmath.syn#lib:isnan,并且只有重载float, double, and long double.

至于编译器行为,GCC https://godbolt.org/z/oQBjS0 and Clang https://godbolt.org/z/YpX18a都编译代码,但是MSVC 没有 https://godbolt.org/z/qcTfQs。谁是对的? cppreference 上的积分重载从何而来?


标准页末尾有一段cmath http://www.eel.is/c++draft/cmath.syn#2:

对于每组重载函数<cmath>,除了abs,应有足够的额外过载以确保:

2. http://www.eel.is/c++draft/cmath.syn#2.2否则,如果与 double 参数对应的任何算术类型实参具有 double 类型或整数类型,则与 double 参数对应的所有算术类型实参将有效地转换为 double。

积分重载是强制性的,否则您会在三个浮点重载之间得到不明确的调用,但如何实现此类重载尚未指定。


请注意,其他函数<cmath>标头对整数类型具有正确的重载,例如,

std::atan(1)

调用模板化版本double atan<int,void>(int).

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

整型的 std::isnan 和 std::isinf 重载 的相关文章

随机推荐

  • 如何在Android WebView中获取加载的网页标题?

    我在应用程序中使用 WebView 我需要根据用户所在的页面更改应用程序标题 我怎样才能在 Android WebView 中做到这一点 我通过以下行在 iPhone 中执行此操作 self title webPage stringByEv
  • 如何在 C# 中截断列表?

    我知道在 python 中你可以做类似的事情myList 1 20 但是C 中有类似的东西吗 var itemsOneThroughTwenty myList Take 20 var itemsFiveThroughTwenty myLis
  • 无法将 8 位地址移至 16 位寄存器

    我正在尝试分配变量来注册 代码如下 ORG 100h var1 DB 10 var2 DB 20 MOV BX var1 error operands do not match 16 bit register and 8 bit addre
  • 查询合并连续时间记录

    我有一个这样的表 id START DATE end date 1 01 01 2011 01 10 2011 2 01 11 2011 01 20 2011 3 01 25 2011 02 01 2011 4 02 10 2011 02
  • 隐藏打印文本

    我这里有一个打印页 如何隐藏底部显示 关闭窗口 和 打印页面 的链接 使其不被打印在打印页面上 你可以使用CSS media 规则 http www w3 org TR CSS21 media html为了这 首先 添加一个类noprint
  • 网页抓取 - 如何通过 Angular.js 访问在 JavaScript 中呈现的内容?

    我正在尝试从公共网站抓取数据asx com au http www asx com au 这一页http www asx com au asx research company do ACB details http www asx com
  • 如何使用 Ruby 和 MongoId 正确保存时区?

    如果这是一个菜鸟问题 请原谅 我有一个应用程序 用户可以在其个人资料中设置自己的时区 当有人添加阵容 应用程序特定术语 时 我会执行以下操作 time ActiveSupport TimeZone new user timezone par
  • 如何运行媒体流

    我创建了一个网络摄像头流 navigator getUserMedia video true function stream videoTag src window URL createObjectURL stream videoTag p
  • 为什么浏览器不支持 PUT 和 DELETE 请求?何时支持?

    我最近看到许多框架决定在表单提交 而不是ajax 中 伪造 PUT 和 DELETE 请求 就像 Ruby on Rails 一样 他们似乎在等待浏览器迎头赶上 他们的等待是徒劳的吗 这是否会在任何地方实施 Browsers支持PUT an
  • 如何在 Python 中格式化具有可变位数的数字?

    假设我想显示数字 123 并在前面添加可变数量的填充零 例如 如果我想以 5 位数字显示它 我会digits 5给我 00123 如果我想以 6 位数字显示它 我会digits 6 giving 000123 我将如何在 Python 中做
  • 如何将调试器附加到 IIS 而不是 ASP.NET 开发服务器?

    我有一个 ASP NET 网站 当我按 F5 时 它会自动附加到 ASP NET 开发服务器 当我按 F5 时 如何附加到 IIS 工作进程 调试 gt 附加到进程 选择aspnet wp exe从列表中进行处理 如果你正在跑步IIS gt
  • 如何在.NET 中获取当前窗口句柄计数和窗口句柄限制?

    我想在C 中获取当前窗口句柄数和系统范围的窗口句柄限制 我该怎么办 如果你读过 Raymond Chen 的帖子 你可能会像我一样觉得它很烦人 您只是 可能做错了什么 因为您正在做 Windows 无法完成的事情 在我的应用程序中 当用户第
  • 垃圾收集器优先和 JMap EOF 错误

    我们正在研究客户的生产服务器堆以检测和解决内存泄漏 为此 我们定期使用 jmap 来收集必要的信息 但上周我们无法进行转储 因为它触发了 EOF 错误并关闭了 Tomcat 实例 我在互联网上搜索但找不到有关此错误的任何具体信息 我们发现它
  • Raphaeljs 在 IE 中将所有文本呈现为斜体

    我在用着拉斐尔 JS http raphaeljs com index html用于直观地表示一些数据 底层技术是 SVG 所以显然在 IE 中并不总是能很好地工作 但是该库在渲染有用的东西方面做得相对不错 尽管它通常看起来很差 无论如何
  • MERGE 语句的语法错误

    我正在尝试在 Go 中执行 MERGE 语句 query MERGE staged ON email 1 WHEN NOT MATCHED THEN INSERT email secret passwd ts newAcct VALUES
  • HTTP 服务的反应式缓存

    我正在使用 RsJS 5 5 0 1 在 Angular 2 中进行缓存 它运行良好 缓存功能的核心是 const observable Observable defer gt actualFn do gt this console log
  • Antlr4中有哪些加速解析的方法?

    我对Antlr4的性能有些怀疑 我目前正在使用 Python 和 Antlr4 与 Java 相比 它非常慢 使用 Antlr4 IntelliJ 插件验证 由于我需要使用更大的代码进行解析 因此我计划切换到 Antlr 最快的语言 例如
  • R中runif和sample的区别?

    他们使用的概率分布是什么 我知道 runif 给出小数 sample 给出整数 但我感兴趣的是 sample 是否也使用 均匀概率分布 考虑以下代码和输出 gt set seed 1 gt round runif 10 1 100 1 27
  • java.util.ConcurrentModificationException - ArrayList

    开始编辑请向下滚动查看更新的代码编辑结束 我已经在谷歌上搜索并搜索了为什么会发生这个异常 我知道它是由一个对象正在读取列表而同时从列表中删除了一个项目引起的 我已经根据我发现的建议更改了我的代码 但时不时我仍然会遇到此异常 并且它使我的应用
  • 整型的 std::isnan 和 std::isinf 重载

    Cppreference 提到了重载std isnan https en cppreference com w cpp numeric math isnan and std isinf https en cppreference com w