C++中的this指针

        如果希望成员函数对多个对象进行操作,可以将额外的对象作为参数传递给它。如果方法需要显式引用调用它的对象,则可以使用this指针。由于this指针被设置为调用对象的地址,因此*this是该对象的别名。        

        每个成员函数(包括构造函数和析构函数)都有一个this指针。this指针指向调用对象。如果方法需要引用整个调用对象,则可以使用表达式*this。在函数的括号后面使用const将this限定为const,这样将不能使用this来修改对象的值。

        然而,要返回的并不是this,因为this是对象的地址,而不是对象本身,即*this(将解除引用运算符*用于指针,将得到指针指向的值)。

const Stock & Stock::topval(const Stock & s) const
{
	if (s.total_val > total_val)
		return s;
	else
		return *this;
}

括号中的const表明,该函数不会修改被显式访问的对象,而括号后的const表明,该函数不会修改被隐式地访问的对象。由于该函数返回了两个const对象之一的引用,因此返回类型为const引用。返回类型为引用意味着返回的是调用对象本身,而不是其副本。

猜你喜欢

转载自blog.csdn.net/wxn704414736/article/details/80197125