C 中的注入类名:揭示其目的
在 C 中,注入类名是指注入类名的现象纳入自己的范围。此功能引发了有关其必要性和起源的问题。
注入类名称的目的
注入的类名称确保在类的主体内,类名称始终引用当前类,即使在封闭范围内声明了另一个同名的类。考虑以下示例:
void X() { } class X { public: static X create() { return X(); } };
在上面的代码中,注入的类名的目的是区分创建临时 X 对象和调用 X 函数。在命名空间范围内,create() 函数将调用函数 X,而在类的主体中,注入的类名确保它引用类本身。
类模板中的意义
注入的类名在类模板中也很有用。它们允许使用类名而不指定模板参数列表,从而更容易引用当前实例化。例如,您可以简单地使用 Foo,而不是使用 Foo
简介和术语
注入类名的概念存在于C 98,但该术语是在 C 03 中引入的。C 98 将其称为“将类名插入到课程本身的范围。” C 03 创造了术语“注入类名”。
结论
注入类名是 C 中的一个有价值的功能,可确保类内正确的名称查找并简化类模板的语法。了解它们的目的和历史演变可以增强对 C 编程的掌握。
以上是为什么 C 中需要注入类名?的详细内容。更多信息请关注PHP中文网其他相关文章!