this指针
一个对象的this指针并不是对象本身的一部分,不会影响sizeof(对象)的结果。
this指针的作用域是在类内部,当在类的非静态成员函数中访问类的非静态成员函数的时候,编译器会自动将对象本身的地址作为一个隐含参数传递给函数。
举个栗子
struct Sales_data { std::string isbn() const { return bookNo; } // std::string isbn() const { return this->bookNo; } std::string bookNo; }; int main() { Sales_data total; std::string isbn = total.isbn(); return 0; }
插一句:定义在类内部的函数是隐式的inline函数。
正式开始解析这个例子:
首先是函数调用:total.isbn()
我们使用点运