关于this指针

来源:互联网 发布:知豆新能源汽车价格表 编辑:程序博客网 时间:2024/05/18 22:51

  关于C++对象中的隐式定义的this指针,有这样一句说明:

  注:以下对象针对类和结构体;

  this指针指的是:一个对象的this指针并不是对象本身的一部分,但并不会影响sizeof(对象)的结果,this的作用域是在类内部,当在类的非静态成员函数访问类中的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。

  首先,在这一段话中特意强调了静态这两个字,我们需要知道的是:

  对于类中的静态函数而言,并不需要创建对象就可以直接访问了!!!

  类中的静态对象(包括静态数据成员和成员函数)都是表示属于整个类的唯一的,而并不属于此类中的任意特定对象和函数,这是与普通对象最大的区别,也是其应用所在。比如在对类的对象进行计数的时,计数生成多少类的实例就可以用到静态数据成员,在这里面,static既不是限定作用域的,也不是扩展该对象生存期的作用,而是标志此对象/函数在此类中的唯一性,也就是说,对于一种对象,无论被实例化了多少次,对应的静态成员都是这一个,静态成员并不会随着类的实例化而在各个具体实例中被多次实例化!因此是不可能属于某一个实例化对象的。

  我们在类中定义一个方法,并没有针对于某一个已经被实例化的类,但是在使用这个方法的时候却在有的时候需要知道使用这个函数的被实例化的类,这时候就需要用到this指针。

  


0 0
原创粉丝点击