C++中this指针
2017-06-29 15:03
239 查看
this指针的含义及其用法:
1. this指针是一个隐含于每一个成员函数中的特殊指针。它指向正在被该成员函数操作的那个对象。
2. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含使用this指针。
3. 当一个成员函数被调用时,自动向它传递一个隐含的参数,该参数是一个指向这个成员函数所在的对象的指针。
4. 在C++中,this指针被隐含地声明为: X *const this,这意味着不能给this 指针赋值;
在X类的const成员函数中,this指针的类型为:const X* const, 这说明this指针所指向的这种对象是不可修改的(即不能对这种对象的数据成员进行赋值操作);
5. 由于this并不是一个常规变量,所以,不能取得this的地址。
6. 在以下场景中,经常需要显式引用this指针
(1) 为实现对象的链式引用(如例1);
(2) 为避免对同一对象进行赋值操作(如例2);
(3) 在实现一些数据结构时,如list.
作者:耑新新,发布于 博客园
转载请注明出处,欢迎邮件交流:zhuanxinxin@foxmail.com
1. this指针是一个隐含于每一个成员函数中的特殊指针。它指向正在被该成员函数操作的那个对象。
2. 当对一个对象调用成员函数时,编译程序先将对象的地址赋给this指针,然后调用成员函数,每次成员函数存取数据成员时,由隐含使用this指针。
3. 当一个成员函数被调用时,自动向它传递一个隐含的参数,该参数是一个指向这个成员函数所在的对象的指针。
4. 在C++中,this指针被隐含地声明为: X *const this,这意味着不能给this 指针赋值;
在X类的const成员函数中,this指针的类型为:const X* const, 这说明this指针所指向的这种对象是不可修改的(即不能对这种对象的数据成员进行赋值操作);
5. 由于this并不是一个常规变量,所以,不能取得this的地址。
6. 在以下场景中,经常需要显式引用this指针
(1) 为实现对象的链式引用(如例1);
(2) 为避免对同一对象进行赋值操作(如例2);
(3) 在实现一些数据结构时,如list.
作者:耑新新,发布于 博客园
转载请注明出处,欢迎邮件交流:zhuanxinxin@foxmail.com
相关文章推荐
- C++中的this指针
- 浅析C++中的this指针
- c++中的this指针
- C++中this指针的用法
- C++的this指针(转)
- C++特性探寻-继承、成员函数、this指针
- C++ 与“类”有关的注意事项总结(三):隐含的 this 指针
- 浅析C++中的this指针
- C++中this指针的用法
- 浅析C++中的this指针
- 浅析C++中的this指针
- C++中的成员函数调用原理及this指针的传递方式
- C++中this指针的用法.
- C++的多态性实现机制剖析(即VC视频第3课this指针讲解)[程序员之家论坛]
- C++中this指针的用法.
- [转]C++中this指针理解汇总以及问题和解答
- C++点滴——const/volatile不能用来修饰没有this指针的成员函数
- C++中的this指针
- C++之this指针与另一种“多态”
- C++学习总结_this指针