首页 > 解决方案 > 为什么 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++ 中指的是指向当前对象的指针?如果是这样,为什么要这样设计?谢谢。

标签: c++ooppointersthis

解决方案


推荐阅读