“在 C 语言中是绝对必要的? “/>”在 C 中是绝对必要的? " />
何时在 C 中使用“this->”
尽管拥有多年的 C 编程经验,但使用“this->”经常会引发问题虽然使用“this->”的代码在没有它的情况下也可以正常运行,但有一个特定的场景需要使用它:模板化的类层次结构。
考虑以下示例:
<code class="cpp">template<typename T> class A { protected: T x; }; template<typename T> class B : A<T> { public: T get() { return this->x; } };</code>
在模板化中在类层次结构中,需要使用“this->”来显式指定“x”是该类的继承成员,特别是在模板继承中。如果没有“this->”,编译器在名称查找过程中可能会遇到歧义。
除了模板化的场景
在非模板化类层次结构和其他上下文中,通常不需要使用“this->”来访问成员函数或变量省略,不会产生任何功能或副作用。
结论
虽然“this->”通常不是必需的,但它在模板化类层次结构中对于解决歧义非常重要在名称查找期间,使用“this->”是可选的,在大多数情况下不会影响代码的功能。
以上是什么时候在 C 中使用'this->”是绝对必要的?的详细内容。更多信息请关注PHP中文网其他相关文章!