1 )以下表达式不正确的是: a.b ) this指针是指向成员函数所作用的对象的指针B.D )类的非静态成员函数;而在静态成员函数中,实际参数比写的参数多1C.A )
假设在一个类中定义10个对象。 编译系统只将存储单元分配给每个对象的数据成员,而不是分别将存储单元分配给10个对象的数据成员和成员函数。 10个对象的成员函数对应于同一函数代码段。 无论成员函数是在类中定义还是在类外定义,成员函数都按上述方式保存。
每个成员函数都包含一个特殊指针this,其值是当前调用的成员函数所在对象的起始地址。 调用成员函数时,系统隐式将对象的第一个地址传递给成员函数,并使this指针获取当前对象的地址。 因此,成员函数中对数据成员的引用根据this的指示来找到对象的数据成员,并实现对数据成员的操作。
并不是另外空出空间来保管this指针。
对象的this指针不是对象本身的一部分,不影响“sizeof对象”的结果。
this范围位于类中,并且在类的非静态成员函数中访问类的非静态成员时,编译器会自动将对象本身的地址作为隐式参数传递给函数。 也就是说,即使没有编写this指针,编译器也在编译时标记this,它作为非静态成员函数的隐式参数,通过this访问每个成员。