现在的位置: 首页 > 综合 > 正文

C++中关于this指针的理解

2013年10月01日 ⁄ 综合 ⁄ 共 636字 ⁄ 字号 评论关闭

关于this指针的解析,N多年前我就知道this指针!我也看了很多关于this指针的解释和解析!以前我以为我懂了!因为我去网上收索了下,发现都讲的是那同样的一句话!this指针是为了区别一个类定义的两个或是多个对象,在编译器编译过程中!自动加入的!我看了也以为我懂了!呵呵!其实是我受骗了!因为很多人应该都没明白为什么要有this指针吧!

    我在看这本书的过程中发现了,原来this指针就是一个指针,是对象的指针!编译器在编译过程中会给方法加上指针!在代码运行过程中识别不同的对象!下面有一个说得很清楚的例程,让大家知其然还能知其所以然!

    下面我定义一个类:

    class CShape

    {

 private:

     int  m_color;            //成员变量,颜色

 public:

    void setcolor(int );    

};

    CShape :: setcolor( int color )

    {

        m_color= color;

    }

class CShape
{
...
public:
void setcolor(int color) { m_color = color; }
};

    而实际在处理过程中是:

class CShape
{
...
public:
void setcolor(int color, (CShape*)this) { this->m_color = color; }
};

看到上面的例程应该是很清晰的介绍了什么是this指针了吧!

抱歉!评论已关闭.