有时,this指针可直接使用,例如,当操作自引用数据结构,而其中需要当前对象的地址时。 示例 C++ // this_pointer.cpp// compile with: /EHsc#include<iostream>#include<string.h>usingnamespacestd;classBuf{public: Buf(char* szBuffer,size_tsizeOfBuffer ); Buf&operator=(constBuf & );voidDisplay(){cout...
在每一个成员函数中都包含一个特殊的指针,这个指针的名字是固定的,称为this指针。它是指向本类对象的指针,它的值是当前被调用的成员函数所在的对象的起始地址。例如,当调用成员函数a.volume时,编译系统就把对象a的起始地址赋给this指针,于是在成员函数引用数据成员时,就按照this的指向找到对象a的数据成员。例如...
this指针是“成员函数”第一个隐含的指针形参,一般情况由编译器通过ecx寄存器自动传递,不需要用户传递 禁止在静态成员函数中使用:静态成员函数不属于任何对象,因此不能使用this指针。 允许链式调用:this指针的存在允许成员函数进行链式调用,即返回*this指针。 可以修改成员变量:使用this指针可以访问和修改当前对象的成员变量。
正确答案:D解析:C++的类对象具有一个附加的隐含形参,即指向该类对象的指针this,与调用成员函数的对象绑定在一起,在成员函数的函数体可以显示使用this指针,选项A错误;类的友元函数可以不是普通的非成员函数,此时它没有this指针,选项B错误;静态成员函数并不与对象相关联,不属于任何一个类的对象,所以没有this指针,选...
根据以下程序来说明this指针 : classPoint {intx, y;public: Point(inta,intb) { x=a; y=b;}voidMovePoint(inta,intb){ x+=a; y+=b;}voidprint(){ cout<<"x="<<X<<"Y="<<Y<<>};voidmain( ) { Point point1(10,10); ...
类的友元函数都有this指针 C. 任何与类相关的函数都有this指针 D. 类的非静态成员函数都有this指针 相关知识点: 试题来源: 解析 D 正确答案:D 解析:this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员时,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。另外,全局函数和静态函数都...
在C++ 中,this指针是一个特殊的指针,它指向当前对象的实例。 在C++ 中,每一个对象都能通过this指针来访问自己的地址。 this是一个隐藏的指针,可以在类的成员函数中使用,它可以用来指向调用对象。 当一个对象的成员函数被调用时,编译器会隐式地传递该对象的地址作为 this 指针。
this指针不是对象的一部分,this指针所占的内存大小是不会反应在sizeof操作符上的,this指针的类型取决与使用this指针的成员函数类型以及对象类型 也是一个const指针,它的值是不能被修改的,它指向当前对象,通过它可以访问当前对象的所有成员; this只能用在类的内部,但只有在对象被创建以后才会给this赋值,并且这个赋值的...
this指针不仅仅是一个指向当前对象的指针,它在一些高级编程技巧中扮演着关键角色。 2.1.1链式调用中的this指针 在实现链式调用(如流式接口)时,this指针被用来返回当前对象的引用,从而允许连续调用同一个对象的多个成员函数。 2.1.2this指针与对象的自引用 ...