具有更多模板参数的部分专业化

2023-11-22

部分特化是否允许拥有比主模板更多的模板参数?我的理解是,部分特化必须具有与主模板更少或相同数量的模板参数。

我正在阅读 C++ 模板(第 2 版),其中第 5.4 节(第 72 页)提到

template <typename T, std::size_t SZ>
struct MyClass<T[SZ]>{
    static void print(){}
};

and

template <typename T, std::size_t SZ>
struct MyClass<T (&)[SZ]>{
    static void print(){}
};

都是主模板的部分特化

template <typename T>
struct MyClass;

随附的代码运行良好。但这是正确的吗?部分特化是否可以比主模板拥有更多的模板参数?

编辑 - 该问题已被标记为与另一个问题重复,但那里的答案与此处的问题无关。这里的问题是关于模板参数的数量,评论和快速重读标准为我澄清了答案。


是的,部分特化确实可以比主模板拥有更多的模板参数。这种用途的一个典型例子是std::function:

template <class T>
struct function;

template <class R, class... A>
struct function<R (A...)>
{
  // std::function as we know it
};
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

具有更多模板参数的部分专业化 的相关文章

  • boost::multi_index_container 复合键中的 equal_range 与比较运算符

    我正在尝试从多索引容器查询结果 其中值类型是三个元素的结构 第一个值已给出 但第二个和第三个值必须大于或小于查询参数 经过搜索后 我发现必须实现自定义密钥提取器 并且这里的一些链接建议相同 但我无法实现它 boost multi index
  • 在 LINQ 查询中返回不带时间的日期

    我正在编写一个查询 我想计算按日期联系我们的呼叫中心的次数 看起来很简单 但由于联系日期字段是日期时间字段 我得到了时间 因此当我按联系日期 时间 分组时 每个联系日期实例的计数为 1 所以 我想只按日期分组 而不按时间分组 下面是我用来查
  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • 在 Xamarin Android 中将图像从 URL 异步加载到 ImageView 中

    我有一个包含多个项目的 ListView 列表中的每个项目都应该有一个与之关联的图像 我创建了一个数组适配器来保存每个列表项并具有我希望加载的图像的 url 我正在尝试使用 Web 请求异步加载图像 并设置图像并在加载后在视图中更新它 但视
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • 使用 Microsoft Graph API 订阅 Outlook 推送通知时出现 400 错误请求错误

    我正在尝试使用 Microsoft Graph API 创建订阅以通过推送通知获取 Outlook 电子邮件 mentions 我在用本文档 https learn microsoft com en us graph api subscri
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • 基于范围的 for 循环中的未命名循环变量?

    有没有什么方法可以不在基于范围的 for 循环中 使用 循环变量 同时也避免编译器发出有关未使用它的警告 对于上下文 我正在尝试执行以下操作 我启用了 将警告视为错误 并且我不想进行像通过在某处毫无意义地提及变量来强制 使用 变量这样的黑客
  • 为什么模板不能位于外部“C”块内?

    这是一个后续问题一个答案 https stackoverflow com questions 4866433 is it possible to typedef a pointer to extern c function type wit
  • A* 之间的差异 pA = 新 A;和 A* pA = 新 A();

    在 C 中 以下两个动态对象创建之间的确切区别是什么 A pA new A A pA new A 我做了一些测试 但似乎在这两种情况下 都调用了默认构造函数 并且仅调用了它 我正在寻找性能方面的任何差异 Thanks If A是 POD 类
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • 初始化变量的不同方式

    在 C 中初始化变量有多种方法 int z 3 与 int 相同z 3 Is int z z 3 same as int z z 3 您可以使用 int z z 3 Or just int z 3 Or int z 3 Or int z i
  • AccessViolationException 未处理

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 为了在我的 ASP
  • 将日期参数传递给对 MVC 操作的 ajax 调用的安全方法

    我有一个 MVC 操作 它的参数之一是DateTime如果我通过 17 07 2012 它会抛出一个异常 指出参数为空但不能有空值 但如果我通过01 07 2012它被解析为Jan 07 2012 我将日期传递给 ajax 调用DD MM
  • 作为字符串的动态属性名称

    使用 DocumentDB 创建新文档时 我想设置属性名称动态地 目前我设置SomeProperty 像这样 await client CreateDocumentAsync dbs db colls x new SomeProperty
  • 如何在内存中存储分子?

    我想将分子存储在内存中 这些可以是简单的分子 Methane CH4 C H bond length 108 7 pm H H angle 109 degrees But also more complex molecules like p
  • ListDictionary 类是否有通用替代方案?

    我正在查看一些示例代码 其中他们使用了ListDictionary对象来存储少量数据 大约 5 10 个对象左右 但这个数字可能会随着时间的推移而改变 我使用此类的唯一问题是 与我所做的其他所有事情不同 它不是通用的 这意味着 如果我在这里
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 更改显示的 DPI 缩放大小使 Qt 应用程序的字体大小渲染得更大

    我使用 Qt 创建了一些 GUI 应用程序 我的 GUI 应用程序包含按钮和单选按钮等控件 当我运行应用程序时 按钮内的按钮和字体看起来正常 当我将显示器的 DPI 缩放大小从 100 更改为 150 或 200 时 无论分辨率如何 控件的
  • 如何连接字符串和常量字符?

    我需要将 hello world 放入c中 我怎样才能做到这一点 string a hello const char b world const char C string a hello const char b world a b co

随机推荐

  • 在 RDD 方法/闭包中使用 SparkContext hadoop 配置,例如 foreachPartition

    我正在使用 Spark 读取一堆文件 详细说明它们 然后将它们全部保存为序列文件 我想要的是每个分区有 1 个序列文件 所以我这样做了 SparkConf sparkConf new SparkConf setAppName writing
  • 如何在 Sequelize 中记录带有有界参数的查询?

    我正在使用sequelize 版本5 3 5 连接到postgresql数据库并配置了日志记录以使用console log 但是每当出现带有有限参数的查询时 我无法看到正在绑定哪些参数 配置非常标准 import Sequelize fro
  • 如何在构造函数中初始化 char 数组?

    我在声明和初始化 char 数组时遇到问题 它始终显示随机字符 我创建了一小段代码来展示我在较大的程序中尝试的内容 class test private char name 40 int x public test void display
  • Hibernate 与引用列的一对一映射(XML 映射)

    我有一个用户表和一个user detail具有一对一映射的表user detail表有一个字段user id用于存储相应用户的 id 字段值的关系 如何编写休眠hbm为这种关系归档 UPDATE 我的问题是用户的主键是id user det
  • CSS - 使用 display: inline 属性删除列表菜单中的水平空间

    我是 CSS 新手 并且有一个设定的目标 即在本月底之前用 CSS 学习和发布我的网站 我的问题 我正在尝试构建一个带有悬停下拉菜单的 CSS 水平菜单 但是 当我使用display inline财产与li 列表 项目 我得到了之间的水平空
  • 即使正确设置了 tabindex,提交按钮也没有聚焦

    我已经为表单中的输入字段定义了选项卡索引 当通过输入字段进行 Tab 键切换时 提交按钮永远不会获得焦点 页面上不同形式的其他一些输入字段会获得焦点 这些选项卡索引都高于 3 为什么呢
  • 用 jQuery 覆盖 a:hover?

    我定义了一个 a 带有 css 的标签 我正在尝试停止默认样式表 hover的变化a标签 如何禁用 Jquery 中 a 标签上的悬停更改 以下解决方案的现场演示 http jsbin com umiru 我能想到的最简单的方法是改变 a
  • 从 String[] 到 F# List 的高效转换

    我是从 C 背景转向 F 的 在不同的列表和集合方面有点落后 我最近遇到一个情况 我需要从 string 到 T 列表 我最终使用列表理解来进行转换 let lines File ReadAllLines C LinesOText txt
  • C++ 意外整数提升

    我最近正在编写一些实际上应该测试其他代码的代码 我偶然发现了一个令人惊讶的整数提升案例 这是最小的测试用例 include
  • 如何让机器人提及频道?

    我正在发表欢迎信息 但我似乎无法说出规则频道 我希望机器人说出 rules 并执行它 以便您可以单击它进入规则频道 我知道您可以对普通用户执行此操作 但我想用我的机器人执行此操作 每次尝试都无法像普通播放器一样点击 我尝试过 rules 和
  • UITableView 多选

    如何将 UITableView 添加到基于视图的应用程序中 用户将点击多个单元格 它将被选中 就像时钟应用程序的名为 重复 的 新闹钟 设置 时钟 gt 闹钟 gt gt 重复 如何获取数组中所有选定的单元格 对于多项选择 请添加以下行vi
  • git:// 协议被公司阻止,我该如何解决这个问题?

    尝试类似的事情git clone git github com ry node git不会起作用 它会导致 Initialized empty Git repository in home robert node git github co
  • python 执行器从完成回调中生成任务(递归提交任务)

    我正在尝试根据已完成的任务结果提交进一步的任务 with concurrent futures ThreadPoolExecutor as executor future executor submit my task def callba
  • 将字符串转换为 JSONArray(不是 gson 中的 JsonArray)[重复]

    这个问题在这里已经有答案了 如何正确地将这个字符串转换为 jsonArray myArray id 1 att1 14 2 att2 false id 2 att1 13 2 att2 false id 3 att1 13 att2 fal
  • 有没有办法根据字符串相似性过滤 django 查询集(la python difflib)?

    我需要将冷线索与我们客户的数据库进行匹配 潜在客户大量来自第三方提供商 数千条记录 销售人员要求我们 用他们的话说 过滤掉我们的客户 这样他们就不会试图向既定客户出售我们的服务 显然 线索中存在拼写错误 查尔斯变成了查理 约瑟夫变成了乔 等
  • 注销和登录后任务计划程序无法显示应用程序的 GUI(无论用户是否登录都运行)

    我有一个 GUI 应用程序 我希望它在重新启动 注销 Windows 计算机后自动运行 以下是我使用 Windows 任务计划程序的方法 首先运行命令创建任务 c Windows System32 schtasks exe Create T
  • 在 anaconda 环境中使用 pyinstaller

    我有一个非常简单的应用程序python v 3 6 我想使用 pyinstaller 冻结它 我使用 anaconda 创建的环境制作了该应用程序 并在那里安装了我需要的软件包 youtube dl 我需要有关如何使用我创建的环境 其中包含
  • 这是在ansible中更改conf文件配置的最佳方法

    最初我使用了一个makefile将我的应用程序部署在linux 我有各种sed用于替换 PHP 上传文件大小 帖子大小 日志文件位置等变量的命令 现在我正在转向ansible 我知道我可以复制这些文件 但是如何更改conf文件 就像我只是想
  • React JS/Typescript 中的空合并运算符[重复]

    这个问题在这里已经有答案了 我们有 Null 合并运算符 NET我们可以使用如下 string postal code address postal code 我们可以在 React JS 中做同样的事情吗 我发现我们可以用 运算符来做 i
  • 具有更多模板参数的部分专业化

    部分特化是否允许拥有比主模板更多的模板参数 我的理解是 部分特化必须具有与主模板更少或相同数量的模板参数 我正在阅读 C 模板 第 2 版 其中第 5 4 节 第 72 页 提到 template