c++ - 为什么 c++ 的“this”被设计成指针而不是指向对象?
问题描述
我从一本 c++ 教科书中发现了以下函数定义:
Vector& Vector::operator=(const Vector& a) {
double* p = new double[a.sz];
for (int i=0; i!=a.sz; ++i)
p[i] = a.elem[i];
delete[] elem;
elem=p;
sz=a.sz;
return *this;
}
我对最后一条语句有疑问——它返回*this
而不是this
. 据我记得,this
在Java中指的是当前对象。我是否正确,this
在 C++ 中指的是指向当前对象的指针?如果是这样,为什么要这样设计?谢谢。