C++this指针
2016-06-20 11:06
253 查看
C++ this指针
在C++中,每个对象都可以通过this指针来访问自己的地址,this指针是所有成员函数的隐含参数,因此在成员函数内部,它可以用来指向调用对象。友元函数没有this指针,因为友元函数不是成员函数。C++指针回顾
C++指针是一个变量,每一个变量都有一个内存地址,指针动态分配内存,其值就是内存位置的直接地址。定义一个指针变量,把变量地址赋值给指针,访问指针变量中可用地址的值。#include<iostream> using namespace std; int main() { int var = 20;//定义一个变量 int *p; //声明一个指针变量 p = &var; //指针变量存储var地址 cout<<var<<endl;//输出20 cout<<p<<endl;//输出地址 cout<<*p<<endl;//输出20 }
C++引用回顾
提到指针我们就会想起引用。引用变量是一个已存在变量的另一个名字,俗称别名。把引用初始化为某个变量后就可以用该引用或变量名来指向变量了。听起来是不是有些绕,呵呵。#include<iostream> using namespace std; int main() { int r=3; int& i=r; //创建引用变量 cout<<r<<endl;//输出为3 cout<<i<<endl;//输出为3 }
关于this指针的一个经典回答:
当你进入一个房子后,你可以看见桌子、椅子、地板等,
但是房子你是看不到全貌了。
对于一个类的实例来说,
你可以看到它的成员函数、成员变量,
但是实例本身呢?
this是一个指针,它时时刻刻指向你这个实例本身
一个指向C++类的指针与指向结构的指针类似,访问指向类的指针的指针成员,需要使用成员访问运算符->
box a; box *i; i=&box; i->vlues();
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- android string.xml文件中的整型和string型代替
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- android上改变listView的选中颜色
- String.intern
- Prototype源码浅析 String部分(二)
- Ruby中的String对象学习笔记
- C#中struct和class的区别详解
- ASP编码必备的8条原则
- PostgreSQL ERROR: invalid escape string 解决办法
- VBS ArrayList Class vbs中的数组类
- 为了防止乱码,请将用于页面编码的meta charset放到title的前面
- 大家看了就明白了css样式中类class与标识id选择符的区别小结
- XML指南——XML编码
- C#中字符串编码处理
- ExtJS中文乱码之GBK格式编码解决方案及代码
- 程序员趣味读物 谈谈Unicode编码
- 文本文件编码方式区别
- 浅谈C++中的string 类型占几个字节