in c++,this是一个指针,但为什么我们可以用它this.xxx来表示一个成员,而不是this->xxx?
this->xxx应该是对的,但为什么this.xxx也行?
1 回答
1
this.xxx在 C++ 中是不允许的。在访问成员对象之前,包括指向当前对象的指针在内的所有指针this都需要进行 DE 引用。对指针的 DE 引用是通过*C++ 中的运算符完成的,该运算符最终成为表达式
(*this).xxx
它也被写成一种简写形式,它将 DE 引用和成员访问与单个运算符结合->为this->xxx
相反,C#接受this.xxxthis 不是指针而是对象的当前实例的表示法。
我相信,让你感兴趣的那个特殊符号C#至少不是来自C++
用作当前对象实例的约定this在 Java 和 C# 中是相关的,因此我建议您重新验证表达式的来源
于 2013-01-18T06:42:53.637 回答