首页 > 后端开发 > C++ > C 中注入类名的目的和历史是什么?

C 中注入类名的目的和历史是什么?

Linda Hamilton
发布: 2024-12-16 07:16:11
原创
468 人浏览过

What is the Purpose and History of Injected Class Names in C  ?

C 中的注入类名称:目的和历史

C 有一个有趣的概念,称为注入类名称。通过将类名注入到自己的作用域中,该语言可确保类内的名称查找始终找到当前类,即使同一封闭作用域中存在其他类似命名的类也是如此。

此功能在场景中变得至关重要比如下面这样:

void X() { }
class X {
public:
  static X create() { return X(); }
};
登录后复制

create()函数是构造临时X对象还是调用函数X?在全局范围内,将调用函数 X。因此,注入的类名保证在 X 类主体中,名称 X 始终引用类本身,从而防止潜在的歧义。

注入的类名在类模板中也被证明是有益的,允许模板类无需指定参数即可引用,从而简化了表达式。

尽管概念上存在于 C 98 中,但术语“注入类名”是在 C 03 中引入的(DR 147)。在 C 98 之前,ARM 语言规范隐含了这个概念,但缺乏具体的术语。

注入类名称的优点:

  • 成员中的清晰度访问: 确保在其自己的类中精确识别类范围。
  • 类模板的简单性:无需模板参数即可方便地引用当前类实例化。

以上是C 中注入类名的目的和历史是什么?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板