谁能告诉我,C语言中的this指针的具体详细的定义和使用?

如题所述

C++中this指针的理解和用法
先要理解class的意思。class应该理解为一种类型,象int,char一样,是用户自定义的类型。(虽然比 int char这样build-in类型复杂的多,但首先要理解它们一样是类型)。用这个类型可以来声明一个变量,比如int x, myclass my等等。这样就像变量x具有int类型一样,变量my具有myclass类型。
理解了这个,就好解释this了,my里的this 就是指向my的指针。如果还有一个变量myclass mz,mz的this就是指向mz的指针。 这样就很容易理解this 的类型应该是myclass *,而对其的解引用*this就应该是一个myclass类型的变量。
通常在class定义时要用到类型变量自身时,因为这时候还不知道变量名(为了通用也不可能固定实际的变量名),就用this这样的指针来使用变量自身。

1. this指针的用处:
一 个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态 成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。也就是说,即使你没有写上this指针,编译器在编译的时候也是加上this的, 它作为非静态成员函数的隐含形参,对各成员的访问均通过this进行。
例如,调用date.SetMonth(9) <===> SetMonth(&date, 9),this帮助完成了这一转换 .
2. this指针的使用:
一种情况就是,在类的非静态成员函数中返回类对象本身的时候,直接使用 return *this;另外一种情况是当参数与成员变量名相同时,如this->n = n (不能写成n = n)。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-04-11
this指针是指向当前对象的指针。只能在对象内部方法中使用。

谁能告诉我,C语言中的this指针的具体详细的定义和使用?
理解了这个,就好解释this了,my里的this 就是指向my的指针。如果还有一个变量myclass mz,mz的this就是指向mz的指针。 这样就很容易理解this 的类型应该是myclass *,而对其的解引用*this就应该是一个myclass类型的变量。通常在class定义时要用到类型变量自身时,因为这时候还不知道变量名(为了通用也...

c语言里面this是什么关键字。。求详解
this是一个指向对象自身的指针。举个例子:class Test{ int i, j;public:void set(int a, int b){ this->i = a;\/\/将调用该函数的对象中的成员i 赋值为a this->j = b;\/\/将调用该函数的对象中的成员j 赋值为b } };int main(){ Test t;t.set(10, 20);\/\/这时set函数中的this就...

可以介绍一下c语言里面的指针怎么运用吗?
以后,我们说一个指针的值是XX,就相当于说该指针指向了以XX为首地址的一片内存区域;我们说一个指针指向了某块内存区域,就相当于说该指针的值是这块内存区域的首地址。 指针所指向的内存区和指针所指向的类型是两个完全不同的概念。在例一中,指针所指向的类型已经有了,但由于指针还未初始化,所以它所指向的内存...

谁能告诉我C#中this关键字到底是什么意思?请用通俗点的话来说...
就是指的这个类,他本身。比如一个人,有耳朵等等,就可以说这个人的耳朵。 同意在类中定义方法或变量就可以this.了

C语言的指针是什么
针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; 能很方便地使用数组和字符串; 并能象汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。 学习指针是学习C语言中最重要的一环, 能否正确理解和使用指针是我们是否掌握...

c语言中指针怎么使用?
1、使用场景 使用指针时,必须将它指向一个变量的地址或者为它分配空间方能使用,如下所示:include<stdio.h> include <stdlib.h> int main(int argc, char const *argv[]){ int a[5]={0,1,2,3,4};int *b,*d;int c=2;int *e=a; \/\/e指向a数组首地址 \/\/*b=2; 无法直接初始...

c语言结构体指针如何定义和使用
struct stu { char name[20];long number;float score[4];} ;再定义指向结构体类型变量的指针变量:struct stu *p1, *p2 ;定义指针变量p 1、p 2,分别指向结构体类型变量。引用形式为:指针变量→成员;

c语言中this,和new有什么作用
c很少用到,vc比较多,但也是比较而言。this指针 new开辟内存 this不知道怎么用无所谓,真的,或许一辈子能看见,但自己不会用到它 new开辟内存,不如malloc等常用

c++ this指针的目的是什么?
this指针实际是指向了对象的内存地址起始值,所以通过一个偏移量,就知道了对象的各种属性(变量),也就确定了一个绝对的对象。当然在对象的函数操作里我们可以显示的用this->的方式来引用变量,但是你也发现你即使不加上this指针,它依然知道你引用了谁,其实就是隐含了一个参数this指针。为了进一步理解...

CDC *p=this->GetDC()是什么意思?
this指针只有在成员函数中才有定义。因此,你获得一个对象后,也不能通过对象使用this指针。所以,我们也无法知道一个对象的this指针的位置(只有在成员函数里才有this指针的位置)。当然,在成员函数里,你是可以知道this指针的位置的(可以&this获得),也可以直接使用的。6:每个类编译后,是否创建一个类...

相似回答