《C++ Primer 第五版》this 指针 (下)
一、背景:Sales_data
结构体示例
#include <string>struct Sales_data {std::string bookNo; // 书籍编号unsigned units_sold = 0; // 销售册数double revenue = 0.0; // 销售总收入// 成员函数:返回书籍编号std::string isbn() const { return bookNo; }
};
这里 isbn()
是一个常量成员函数(const
)。在这个函数体内,我们写 return bookNo;
,但并没有显式指出它是哪个对象的 bookNo
,为什么编译器能懂呢?这就涉及到 this
指针。
二、什么是 this
指针?
在 C++ 中,每个非静态成员函数在被调用时,编译器会隐式地传入一