首页 > 后端开发 > C++ > C 如何确定模板推导中的偏序?

C 如何确定模板推导中的偏序?

DDD
发布: 2024-12-01 03:38:09
原创
578 人浏览过

How Does C   Determine Partial Ordering in Template Deduction?

模板推导中的部分排序过程

当确定类型推导模板的部分排序时,C 标准采用了一个特定的过程,涉及转换后的函数类型的比较。对于涉及的每个模板,通过将每个模板参数替换为唯一的虚构类型来转换原始函数类型。然后,在推导过程中,将转换后的函数类型用作参数模板,而另一个模板的原始函数类型将用作参数模板。

此比较是双向进行的:

  • 使用第一个模板的转换类型作为参数模板,使用第二个模板的原始类型作为参数模板。
  • 使用转换后的类型第二个模板作为参数模板,第一个模板的原始类型作为参数模板。

如果可以在一个方向上建立匹配,但不能在另一个方向上建立匹配,则确定一个模板比比其他专业。否则,这两个模板都不会被认为更专业。

此过程有助于解决模板推导中的歧义,其中多个模板可能看起来同样适用。通过比较转换后的类型,编译器可以确定哪个模板可以更精确地匹配传递的特定参数。

以上是C 如何确定模板推导中的偏序?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板