(从成员函数和重载运算符返回值,this指针是一个更实用的用法) 1)this指针指向的是该成员函数所属的对象,所以*this就是这个对象本身。通常实用引用和this指针从重载赋值运算符返回数据,从而避免创建额外的对象。 2)必须注意:this指针在静态成员函数中是无效的,因为静态成员函数不属于任何特定的对象。 三、dynamic_cast...
(*this).M= m; (*this).S= s; } 可以看到,以上两种写法用到了对象中的隐藏的this指针,可以明确是本类中的成员,从而明显的区别本对象与外部变量。实际上,当一个对象调用其成员函数的时候,即便程序中有多个该类的对象,但成员函数的代码也仅有一份,所以为了区分它们是哪个对象调用的成员函数,编译器也是转化成...
this 指针被隐含地声明为: ClassName *const this,这意味着不能给 this 指针赋值;在 ClassName 类的const 成员函数中,this 指针的类型为:const ClassName* const,这说明不能对 this 指针所指向的这种对象是不可修改的(即不能对这种对象的数据成员进行赋值操作); this 并不是一个常规变量,而是个右值,所以不能取...
再考虑一下C++的this指针,一个类中的成员函数,依据this指针来区分不同的对象,也就是说根据this指针实现了访问不同的对象的成员变量。 这是否也是多态的一种表现?这里所说的多态已经不是那个“父类指针指向子类对象”的教条了,而是体现在同一个类的不同对象之间,调用同一个成员函数,依据参数“this指针”来实现访...
关于this指针的说明不正确的是( )。 A. 不能在程序中修改this指针 B. this指针可以给其他指针赋值,但不能修改this指针 C. 静态成员函数中没有thi
在数据传递时,如果数据块较大,可以使用指针传递地址而不是实际数据,即提高传输速度,又节省大量内存。 一个数据缓冲区char buf[100],如果其中buf[0,1]为命令号,buf[2,3]为数据类型,buf[4~7]为该类型的数值,类型为int,使用如下语句进行赋值: *(short*)&buf[0]=DataId; ...
int (*p)(int);//从P 处开始,先与指针结合,说明P 是一个指针,然后与()结合,说明指针指向的是一个函数,然后再与()里的int 结合,说明函数有一个int 型的参数,再与最外层的int 结合,说明函数的返回类型是整型,所以P 是一个指向有一个整型参数且返回类型为整型的函数的指针. int * (* p(int))[3];...
this 指针被隐含地声明为: ClassName *const this,这意味着不能给 this 指针赋值;在 ClassName 类的const 成员函数中,this 指针的类型为:const ClassName* const,这说明不能对 this 指针所指向的这种对象是不可修改的(即不能对这种对象的数据成员进行赋值操作); this 并不是一个常规变量,而是个右值,所以不能取...
答案:D[解析] C++的this指针是系统默认产生的一个指针,它是const的,所以是不能够被改变,不能够被赋值的。 结果一 题目 关于this指针的说明不正确的是∠ACB=90° A 不能在程序中修改this指针 B this指针可以给其他指针赋值,但不能修改this指针 C 静态成员函数中没有this指针 D this指针可以被赋值分值: 2 答...
pint = (int *)pv; // void指针赋值给int指针需要类型强制转换 指向常量的指针变量 格式: const 类型标识符 *指针变量名; 通过该指针变量只能读取它所指的常量的值 不能通过指针变量来改变所指对象的值,但指针变量本身值可以改变,可以指向另外的对象。