this指针对于c++初学者来说有时候总是绕不明白,在这里简单分析一下this指针的特点
1. this指针是类内部使用的,this顾名思义就是这个的意思,指针就是地址,这个地址就是当前对象的地址,也就是说有了类的对象才有这个地址,才有这个指针,其实不用this的话,一般默认也是this指针,例如这个类
class A
{
public:
void fun ()
{
//其实下面这两句话一个意思,都在调用pri_fun ()
this->pri_fun();
pri_fun();
}
private:
void pri_fun ()
{
}
};
2. this指针是指向自己的,例如调用 delete this这个语句就是删除自己,就是“自杀”的意思,this指向的是自己,调用的也是自己
3, this指针有时候可以作为参数传给别的对象或者参数,就是把自己传进去,让别人通过这个指针来调用自己,例如
class A
{
public :
void con_B ()
{
m_b = new B (this);
}
private:
B * m_b;
}
class B
{
public:
B (A * a)
{
}
};
慢慢磨磨,时间一长就明白了,如切如磋,如琢如磨,凡是就怕认真,一认真,事情就破了