VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > C/C++语言编程 >
  • C++教程之关键字 this

 

关键字 this

关键字this 通常被用在一个class内部,指正在被执行的该class的对象(object)在内存中的地址。它是一个指针,其值永远是自身object的地址。
它可以被用来检查传入一个对象的成员函数的参数是否是该对象本身。例如:
    // this
    #include <iostream.h>
    
    class CDummy {
      public:
        int isitme (CDummy& param);
    };
    
    int CDummy::isitme (CDummy& param) {
        if (&param == this) return 1;
        else return 0;
    }
    
    int main () {
        CDummy a;
        CDummy* b = &a;
        if ( b->isitme(a) )
            cout << "yes, &a is b";
        return 0;
    }
                          
yes, &a is b
它还经常被用在成员函数operator= 中,用来返回对象的指针(避免使用临时对象)。以下用前面看到的向量(vector)的例子来看一下函数operator= 是怎样实现的:
   CVector& CVector::operator= (const CVector& param) {        x=param.x;        y=param.y;        return *this;    }
实际上,如果我们没有定义成员函数operator=,编译器自动为该class生成的默认代码有可能就是这个样子的。
相关教程