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

关于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指针了吧!
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值