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