-7

in c++,this是一个指针,但为什么我们可以用它this.xxx来表示一个成员,而不是this->xxxthis->xxx应该是对的,但为什么this.xxx也行?

4

1 回答 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 回答