模板什么时候结束?

2024-04-19

模板什么时候结束? 我们来看看这段代码:

template <class T>
class thatClass
{
   T a, b;
   thatClass (T x, T y) {a = x; b = y;}
};

template <class T>T aFunc(T one, T two)
{
   return one+two;
}

那么什么时候template <class T>结尾?它总是在类或函数定义结束之后结束吗?为什么不能只使用为类和函数声明的一个模板,所以在这种情况下,我可以使用模板参数T对于这两个函数aFunc以及类定义?


模板参数的范围以模板化主题的范围结束:

template <class T>
class thatClass
{
   T a, b;
   thatClass (T x, T y) {a = x; b = y;}
}; // << ends here

template <class T>T aFunc(T one, T two)
{
   return one+two;
}  // << ends here

为什么不能只使用为类和函数声明的一个模板,所以在这种情况下,我可以使用模板参数T对于这两个函数aFunc以及类定义?

不能,因为模板参数范围始终绑定到类/结构或函数定义。这在语言中是这样定义的。

人们可以考虑对整体进行模板化namespace,但这不是可用的语言功能,而且我不确定这是否是一个好主意。


由于您似乎很困惑,我将添加一些变化:

template <class T>
class thatClass
{
   T a, b;
   thatClass (T x, T y) {a = x; b = y;}
   // A member funcion that uses the same template parameter and accesses 
   // the class member variables
   T aFunc() { return a+b; }
   // A static member funcion that uses the same template parameter and
   // calculates the result from the parameters
   static T aStaticFunc(T one, T two) { return one+two; }
 };
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

模板什么时候结束? 的相关文章

随机推荐

  • Windows 字体安装后无法立即在应用程序中使用?

    每当我在 Windows 2003 服务器上安装新字体时 我都无法立即在我的 asp net Web 应用程序中使用它 应用程序通过以下方式获取字体CreateFontIndirectgdi32 dll win api 然后使用此字体在我的
  • 有没有办法在 writetable() 中使用字符串作为分隔符 - Julia

    当使用 writetable 将数据帧写入文件时 我希望能够将分隔符设为空格然后逗号 即 作为分隔符 我知道 writetable 只能选择将单个字符作为分隔符参数 是否有可能的解决方法能够将字符串作为分隔符 或者 是否可以简单地在数据框中
  • Bottle gevent 和线程:gevent 只能在单个线程中使用

    我有一个 python Bottle 应用程序 它使用线程 由于我正在使用猴子补丁 http www gevent org gevent monkey html 线程正在阻止应用程序执行 从线程触发的对话框正在阻止瓶子路由响应客户端 直到被
  • 如何使用 FastAPI 将下拉菜单添加到基于 BaseModel 的 Swagger UI autodocs?

    我有以下课程 class Quiz BaseModel question str subject str choice str Query choices eu us cn ru 我可以像这样基于此类渲染表单 api post postda
  • php 获取包含文件的名称空间

    file foo php file index php 我的问题是 从我的 index php 文件中 是否可以知道 foo php 的命名空间是什么 而无需读取文件内容并对其执行正则表达式 这似乎是一个很大的开销 EDIT 我真的希望能够
  • 如何将图像插入 Latex 格式的 Anki 笔记中?

    我正在尝试创建一个 Anki 牌组 例如 前面有一个单词 然后我在后面添加带有定义的单词以及图片 但是当已经有两个字段 前面 的文本和后面的文本 时 我在包含图形时遇到了麻烦 这是一个注释示例 begin note begin field
  • 仅当针对较低 API 时才在 Android M 上请求权限

    因此 在我的应用程序中 我想添加一个选项 以便当用户使用 Android M 时有选择地添加权限 例如 直接拨号 但同时 我希望该权限不会按照 API 22 中的要求显示或更低只是因为它不是必需的 所以我宁愿在安装过程中不要求它 因此事实上
  • 需要有关 Enumerable.Aggregate 函数的更多详细信息

    你能帮我理解吗 words Aggregate workingSentence next gt next workingSentence 从下面的代码片段 如果有人解释我如何在 C 1 1 中实现这一点 那就太好了 摘自MS http ms
  • 相当于.net中的SoftReference?

    我熟悉WeakReference 但我正在寻找一个已清除的引用类型only当内存不足时 不仅仅是每次运行 gc 时 就像 Java 的SoftReference 我正在寻找一种实现内存敏感缓存的方法 ASP NET 缓存为您提供了所需的内存
  • 导出图像格式的访问图表?

    我在 Access 表单中创建了一个图表 并将其以图像格式导出 这很容易完成 但是当我关闭表单时 问题就出现了 它显示了一条弹出消息 对图表对象的操作失败 OLE 服务器可能未注册 要注册 OLE 服务器 请重新安装它 然后我做了一些改变
  • JS/AJAX:使用计时器提交表单,而不是单击按钮或刷新页面

    我正在尝试提交没有页面刷新或提交按钮的表单 但我只实现了让JS函数提交输入框值 是否可以在不单击按钮和刷新页面的情况下提交整个表单 JSFIDDLE http jsfiddle net MswhY 8 JS
  • 使用python统计lmdb数据库中的记录数

    我打开一个lmdb使用此代码的数据库 lmdb env lmdb open source path readonly True 如何计算该数据库中的记录数 我认为应该是这样的 lmdb env lmdb open lmdb file nam
  • 检测默认网络浏览器的代理设置

    MSDN样本 HttpWebRequest myWebRequest HttpWebRequest WebRequest Create http www microsoft com WebProxy myProxy new WebProxy
  • JSON 的 XSLT 等效项

    有没有一个XSLT http www w3 org TR xslt相当于 JSON 允许我对 JSON 进行转换 就像 XSLT 对 XML 所做的那样 JSON 的 XSLT 等效项 候选列表 工具和规范 Tools 1 XSLT htt
  • SceneBuilder 不会加载通过 FXML 引用另一个自定义控件的自定义控件

    我创建了一个基于 FXML 的自定义控件 该控件又引用另一个基于 FXML 的自定义控件 当我在 Eclipse 中加载它们时 它们都工作得很好 但是当我尝试将它们导入到 SceneBuilder 中时 外部控件 包含另一个控件的一个 无法
  • PHP 中短代码的正则表达式模式

    我编写的用于匹配 PHP 中的短代码的正则表达式有问题 这是模式 其中 shortcode是短代码的名称 shortcode shortcode 现在 这个正则表达式对于这些格式表现得非常好 shortcode shortcode valu
  • 为什么不能在 svg 路径元素上使用transform:translateZ?

    我想对内联 svg 元素的部分进行动画处理 我认为你可以在 svg 路径元素上使用 css 转换 从而为 svg 的部分设置动画 这真的很酷 但在使用它之后 我遇到了 translateZ 函数的问题 由于某种原因 在路径元素上使用第三维似
  • 如何删除材料设计按钮中的额外填充或边距?

    我正在尝试创建一个附加到按钮上方的 TextView 的按钮 如下图所示 上面的截图取自Note 4 操作系统版本为5 0 1 下面是用于实现UI的代码 布局 xyz xml
  • C++ 编码指南 102

    如果您被允许在 101 条准则中添加另一个编码准 则 C 编码标准 Herb Sutter 和 Andrei Alexandrescu http www gotw ca publications c cs htm 您会添加哪一个 一年后再写
  • 模板什么时候结束?

    模板什么时候结束 我们来看看这段代码 template