继承而不是 typedef

2024-04-29

C++ 无法从 typedef 中创建模板或将 typedef 制作为模板类。我知道如果我继承并使我的类成为模板,它就会起作用。

例子:

// Illegal
template <class T>
typedef MyVectorType vector<T>;

//Valid, but advantageous?
template <class T>
class MyVectorType : public vector<T> { };

这样做是否有利,以便我可以“伪造” typedef 或者是否有更好的方法来做到这一点?


C++0x 将使用以下方式添加模板类型定义using关键词。

您的解决方案声明了一个新类型,而不是类型“别名”,例如你不能初始化一个MyVectorType &(参考)与vector<T>。这对你来说可能不是问题,但如果是,但你不想在代码中引用向量,你可以这样做:

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

继承而不是 typedef 的相关文章

随机推荐

  • 我的傅立叶逆变换中的尖峰

    我正在尝试在 MATLAB 中比较两个数据集 为此 我需要通过傅里叶变换数据来过滤数据集 对其进行过滤 然后对其进行逆傅里叶变换 然而 当我对数据进行逆傅里叶变换时 我在红色数据集的两端都出现了一个尖峰 图片显示了第一个尖峰 它在开始时应该
  • 如何使无线电输入成为必需?

    我在表单中提供了无线电输入 供用户选择性别 如何使性别成为必需的输入 用户必须选择女性或男性 否则他们会按照通常的方式得到提示required 我尝试添加required如下所示 但它不起作用 用户可以继续而不选择女性或男性 div cla
  • .NET Core 中 Path.TryJoin 相对于 Path.Combine 有什么优势?

    我刚刚开始使用 NET Core 2 1 发现Path TryJoin https learn microsoft com en us dotnet api system io path tryjoin view netcore 2 1 a
  • 如何使用seaborn、python中的彩色气泡图设置数值变量的色调范围?

    我正在尝试使用seaborn创建3D点 x y z 的彩色气泡图 每个坐标都是 0 255 范围内的整数 我希望轴代表 x 和 y 散点气泡的色调和大小代表 z 坐标 代码 import seaborn seaborn set import
  • SQL Server 2008 相对于 SQL Server 2005 有何优势? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • HTML5shiv 仅在 HEAD 部分有效?

    为了使我的网站尽可能快 我更喜欢在文档末尾加载 js 脚本 就在结束正文标记之前 为 HEAD 部分保留 css 但是 我发现下面的 html shiv 代码显然仅在 HEAD 部分实例化时才有效 有人知道解决方法吗 谷歌代码是NOTCDN
  • 将张量的完整值打印到控制台或写入张量流中的文件

    我需要将一个大张量 32 32 3 打印到控制台中 并且我只得到如下输出 245 245 245 245 245 245 245 245 245 245 245 245 245 245 245 245 245 245 245 245 245
  • RCurl 和自签名证书问题

    我在获取时遇到问题RCurl功能getURL访问使用自签名证书的服务器上的 HTTPS URL 我在 Mac OS X 10 9 2 上运行 R 3 0 2 我已阅读FAQ http www omegahat org RCurl FAQ h
  • 如何才能随意关注一个react-select组件呢?

    使用react select v2 我想在用户按下某个键时显示并聚焦于 Select 元素 以下是我尝试过的一些事情或我走过的路 当我设置对 Select 元素的引用并尝试调用 focus上面说没有找到焦点功能 也许我应该以某种方式获取它的
  • Glassfish 3.1.1 上的 OpenJPA 2.1.1 增强问题

    我的问题是这个异常 Caused by
  • C 整数溢出

    我正在使用 C 中的整数 试图探索更多关于何时以及如何发生溢出的信息 我注意到 当我添加两个正数时 其总和会溢出 我总是得到一个负数 另一方面 如果我添加两个负数 其总和溢出 我总是得到一个正数 包括 0 我做了一些实验 但我想知道这是否适
  • Java PrintWriter 不工作

    我只是想将我的二维数组 拼图 写入文件 我有一个双 for 循环 它读取数组中的每个 char 值 并将它们写入文件 我似乎无法在我的代码中找到错误 该文件说当我运行程序时它已被修改 但它仍然是空白的 多谢你们 public void wr
  • 如何在 Visual Studio 2012 RC 中将数据库发布到提供者

    我的 Web 应用程序使用 MS SQL Server 2008 R2 Express 数据库 要在 Visual Studio 2010 中生成数据库脚本 我可以在服务器资源管理器中右键单击我的数据库 然后选择发布到提供程序 但是 Vis
  • 在 ViewPager 中设置操作栏标题

    我的 ViewPager 由许多片段组成 我在 actionBar 内显示片段的标题 并且使用下面的代码来设置标题 由于 ViewPager 还启动相邻片段 我在操作栏中看到下一个片段的标题 正确的处理方法应该是什么在viewpager的a
  • 如何从用户定义的 ansible.cfg 设置 ansible_config 变量

    我有一个目录结构 在其中保存我的剧本 如下所示 home monk Ansible work ansible cfg playbook dir 1 playbook 1 yml playbook dir 2 playbook 2 yml p
  • 关于Android自定义权限的几个问题

    我正在学习 Android 编程 我已经了解了自定义权限的概念 根据我的理解 这是自定义权限的工作原理 Base app 可以通过声明自定义权限 即使用
  • Google Maps API V3 关闭信息框

    我有一个 Google 地图版本 3 但我无法完全按照我想要的方式工作 当地图打开时 页面上有几个标记 单击或悬停在标记上会打开一个带有酒店名称的小信息框 单击另一个标记将关闭第一个信息框并在新标记上打开一个新信息框 问题在于关闭最后一个信
  • 如何在 IntelliJ 中将目录标记为生成的测试源根目录?

    我正在 ubuntu 上的 Intellij 2016 1 但不使用 gradle 中尝试 Dagger2 Intellij 在以下任一位置创建 dagger 的生成源 out production
  • 从 GraphicBuffer 读取时出现意外的像素数据布局

    我目前正在本机 Android 框架中的一个平台上工作 在该平台上我使用 GraphicBuffer 来分配内存 然后从中创建 EGLImage 然后将其用作 OpenGL 中的纹理 使用简单的全屏四边形 问题是 当我从 GraphicBu
  • 继承而不是 typedef

    C 无法从 typedef 中创建模板或将 typedef 制作为模板类 我知道如果我继承并使我的类成为模板 它就会起作用 例子 Illegal template