模板化类专门化,其中模板参数是模板

2024-03-25

我想知道类似的事情是否可能。基本上,我有一个模板类,它偶尔会采用模板类的对象。我想将它(或只是一个成员函数)专门用于特定的模板类,但该类的“通用”形式。

template<typename T, typename S>
class SomeRandomClass
{
    //put something here
};

template<typename T>
class MyTemplateClass
{
    void DoSomething(T & t) {
       //...something
    }
};

template<>
void MyTemplateClass< SomeRandomClass<???> >::DoSomething(SomeRandomClass<???> & t)
{
    //something specialized happens here
}

用适当的类型(双精度等)替换问号是可行的,但我希望它保持通用。我不知道该放什么,因为没有定义任何类型。我环顾四周,了解了模板模板参数,并尝试了各种组合,但没有成功。谢谢您的帮助!


可以像这样专门化课程

template <>
template <typename T,typename S>
class MyTemplateClass <SomeRandomClass<T,S> >
{
    void DoSomething(SomeRandomClass<T,S>& t) { /* something */ }
};

不可能只特化成员方法,因为特化是针对整个类的,并且您必须定义一个新类。但是,您可以这样做

template <>
template <typename T,typename S>
class MyTemplateClass <SomeRandomClass<T,S> >
{
    void DoSomething(SomeRandomClass<T,S>& t);
};

template <>
template <typename T,typename S>
void MyTemplateClass<SomeRandomClass<T,S> >::DoSomething(SomeRandomClass<T,S>& t)
{
    // something
}

拆分声明和定义。

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

模板化类专门化,其中模板参数是模板 的相关文章

随机推荐

  • web.config 位置中的 IIS 动态 IP 限制

    我正在尝试使用IIS 动态 IP 限制 https www iis net downloads microsoft dynamic ip restrictions限制来自同一 IP 的请求 我已经运行了该模块 并且如果我从 IIS UI 编
  • 在 JMS 序列化器中排除 null 属性

    我使用的 XML API 可以选择仅检索部分响应 这导致生成的对象有很多NULL属性 如果使用此功能 有没有办法真正跳过NULL特性 我尝试实施排除策略 shouldSkipProperty PropertyMetadata propert
  • XMPP:未读消息计数

    我正在尝试通过以下功能为我的网络应用程序实现聊天 当用户登录时 他应该看到许多未读消息 这既是离线消息又是 未见 我将在下一步中解释 未见 当用户位于应用程序中的任何位置但在聊天窗口上时 应该通知他有新消息 消息应标记为 未读 并且必须添加
  • 具有动态高度的 Viewpager 不起作用(始终使用第一个片段的高度)

    我已关注this https stackoverflow com questions 9313554 measuring a viewpager and that https stackoverflow com questions 8394
  • Sublime Text 2 包被忽略

    因此 去年切换到 Sublime Text 后 它已成为我选择的编辑器 并且我通过出色的包控制安装了几个不同的包 并且基本上都根据我的喜好进行了自定义 经过几个月的不频繁使用后 我又回到了一个代码密集型项目并启动了 ST2 结果发现我的包都
  • 查询Mongodb子文档错误将循环结构转换为JSON

    我有一个包含一系列子文档的文档 company test plc address addr1 37 addr2 addr3 test addr4 addrcity addrcounty test addrpostcode test addr
  • Hyperledger Fabric 如何在非权限网络和权限网络中设置 Auditor

    我已经研究超级账本结构有一段时间了 我成功安装并形成了 Fabric 网络 而无需使用 5 个对等点的 docker 现在我尝试在网络内设置 Auditor 和非验证对等点 我到处浏览 但找不到任何明确的文件 有人可以帮忙吗 Hyperle
  • 通过 .net 发送短信

    全部 是否有通过 net 发送短信 SMS 的免费解决方案 也许是网络服务之类的 EDIT 我真正想要的是一个有信誉的在线服务的参考 我可以用它来发送短信 有没有人使用过这样的服务 如果是的话 你能给我一个建议 警告吗 EDIT 首先是免责
  • 使用聚合 OData 版本 4 对 Apply 的结果执行 OrderBy

    考虑我有一个像这样的 odata 查询 Sessions apply filter SomeColumn eq 1 groupby Application Name aggregate TotalLaunchesCount with sum
  • Android 数字键盘上的“下一步”按钮

    我想知道如何使用 Jquery 检测 Android 数字键盘上的 下一步 按钮事件 请给我解决方案如何触发该按钮事件 您可以检测到next通过在 JQuery 中使用以下绑定来按下键盘 input on keydown function
  • Node.js POST 导致 [错误:套接字挂起] 代码:'ECONNRESET'

    我创建了一个示例来将数据发布到休息服务 我发现当我有非 ASCII 或非拉丁字符时 请参阅 data firstName 我使用 TEST REST js 的发布请求将抛出 错误 错误 套接字挂起 代码 ECONNRESET TEST RE
  • 如何用省略号删除右侧的多余空间

    我想用省略号类删除右侧的额外空间 ellipsis white space nowrap overflow hidden text overflow ellipsis max width 90px div float left clear
  • 如何在 Python 中检查空 gzip 文件

    我不想使用操作系统命令 因为这使得它依赖于操作系统 这可以在tarfile tarfile is tarfile filename 检查文件是否为 tar 文件 我在中找不到任何相关命令gzip module EDIT 为什么我需要这个 我
  • 如何使Spring缓存中的缓存名称可配置?

    我们使用 Spring 缓存框架进行缓存 并且希望能够支持多个缓存命名空间 例如 book 或 isbn 并且缓存命名空间是可配置的 而不是硬编码在类中 例如具有 Cacheable book isbn public Book findBo
  • JavaScript:内联函数与预定义函数

    任何人都可以向我提出一些关于使用的论据吗内联函数反对通过预定义函数给一些处理程序的名字 IE 哪个更好 function setTimeout function some code here 5 versus function functi
  • Android 2.2异常处理,catch参数null

    我想知道是否有人遇到奇怪的行为 我有 try catch 块 其中 catch 语句分配一个异常变量以使我能够正确处理异常 我得到的是 catch Exception ex 语句中的 ex null 请问我做错了什么 public clas
  • 如何读取用逗号分割的 CSV 文件,除非它是字段的一部分[重复]

    这个问题在这里已经有答案了 我有以下 C 代码 它读取 CSV 文件 目标是将其保存到 SQL 表中 StreamReader sr new StreamReader tbCSVFileLocation Text ToString stri
  • 在 google Drive api 的根目录中创建文件夹并将文件上传到该文件夹

    我想使用 CURL 在 google 驱动器根目录中创建文件夹 文件已上传到驱动器 但我需要创建一个文件夹并将文件上传到该文件夹 根据 hanshenrik 代码 创建文件夹正在工作 移动文件不起作用 我更新的代码 REDIRECT URI
  • 将列与 t-sql 中的值列表进行比较

    我正在页面上显示记录 并且我需要一种方法让用户选择要在另一个页面上显示的记录的子集 这些记录不存储在任何地方 而是动态生成的 在 sql 中说明 uniqueid 位于此 id 列表中而不是表等中的位置的最佳方法是什么 我知道我可以使用一堆
  • 模板化类专门化,其中模板参数是模板

    我想知道类似的事情是否可能 基本上 我有一个模板类 它偶尔会采用模板类的对象 我想将它 或只是一个成员函数 专门用于特定的模板类 但该类的 通用 形式 template