C++中的this指针汇总

来源:互联网 发布:ie无法登陆淘宝 编辑:程序博客网 时间:2024/05/22 08:18

1、下面程序段包含4个函数,其中具有隐含this指针的是哪个函数?

int f1();class T{    public:static int f2();    private:friend int f3();    protect:int f4();};

静态成员函数属于整个类所拥有,没有this指针
友员函数不是这个类的成员,没有
类的非静态成员函数 有
总之,类的每个非静态成员函数都含有一个指向当前对象的指针,即this指针。

2、this指针是一个隐含于每一个成员函数中的特殊指针。它指向正在被该成员函数操作的那个对象。

3、当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含使用this指针。

4、当一个成员函数被调用时,自动向它传递一个隐含的参数,该参数是一个指向这个成员函数所在的对象的指针。

5、 在C++中,this指针被隐含地声明为: X *const this,这意味着不能给this 指针赋值;
在X类的const成员函数中,this指针的类型为:const X* const, 这说明this指针所指向的这种对象是不可修改的(即不能对这种对象的数据成员进行赋值操作);

7、this指针的特点:

  • this只能在成员函数中使用。
  • this在成员函数的开始前构造,在成员函数的结束后清除。
0 0
原创粉丝点击