一个对象的this指针并不是对象本身的一部分,不会影响sizeof的结果。this作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。 一个类里面有许多的成员,每个成员都能用自己的类名来调用。但是在参数与成员名字冲突的时候,就可以用this来进行区分。 class Student{ public: void setname(char *name); void setage(int age); void setscore(float score); private: char *name; int age; float score; }; void Student::setname(char *name) { this->name = name; } void Student::setage(int age) { this->age = age; } void Student::setscore(float score) { this->score = score; } this指针的类型是 类类型* const。一个对象的this指针并不是对象本身的一部分,不会影响sizeof的结果。this指针是类成员的第一个默认的隐含参数,编译器自动的维护传递。只有在类的非静态成员函数才能调用this指针。静态成员函数中没有this指针,所以不能调用。