this指向当前这个函数执行时与之关联的对象自身的地址。
要明白,一个类对象由两 部分组成,数据部分和代码部分,实际上this就是指向数据的指针,代码部分呢,每个类对象都用同一份。当一个类的非静万言书方法被调用时,C++总是要把指向相应对象的数据部分的指针做为this传给方法。

解决方案 »

  1.   

    C++中class和struct其实就是一个包含了一个V表和一些类型数据的内存块,this就是这个内存块的起始地址。也就是说所有的类成员的变量都是指向this的数据,所有的Visual函数都指向V表,而非Visual的函数都是全局的。非static的函数编译器会把成员变量指向this,而static的函数没有this指针。
      

  2.   

    如果我的理解没有错误的话,THIS指针是当某一个对象从某一类中派生出来时
    就给该对象加上一个THIS指针,派生了多少对象就会有多少THIS指针对吗?
      

  3.   

    指的是你用Cwinapp定义的对象,这样够直接了吧
      

  4.   

    dlll(阿籁):this指针每个类都有的吧。
    davidlxm(davidlxm) :this我知道,V表是怎么回事呀?
    请到 
    http://www.csdn.net/expert/topic/619/619005.xml?temp=.7843592
     
    我给你加分! 
      

  5.   

    CWinapp * app = new CWinapp;
    this就是指app的地址,在CWinapp内部你可以通过this直接得到app的地址。V表就是一个存放virtual函数指针的地方的指针。所有指向this的虚拟函数其实都指向了V表,COM就是使用了V表才实现了2进制兼容中,多态和抽象的概念。如果想了解V表的具体情况,可以参考关于COM的书籍,《COM本质论》不错。