首页  >  文章  >  后端开发  >  为什么我可以在该类模板中使用类名'Link”而不是'Link”?

为什么我可以在该类模板中使用类名'Link”而不是'Link”?

Patricia Arquette
Patricia Arquette原创
2024-11-04 06:31:29966浏览

Why Can I Use the Class Name

在类模板中使用类名

在提供的代码片段中,公共成员变量 Link* next 缺少模板参数。这是由于一个称为“注入的类名”的功能。

根据 C 标准([temp.local]),在类模板的范围内,注入的类名相当于模板名称,后跟包含在 <...> 中的模板参数。但是,当用作类型名称时,注入的类名称指的是类模板本身。

对于 Link 类模板,注入的类名称只是 Link。因此,Link* next 行;实际上相当于 Link* next;。使用注入的类名作为简写可以节省为链接指针显式指定模板参数的需要。

此功能在类模板中很方便,尤其是当模板参数列表很丰富时。通过使用注入的类名,类名可以引用自身,而不会因过多的模板参数而使代码变得混乱。

以上是为什么我可以在该类模板中使用类名'Link”而不是'Link”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn