以下程序输出是正确的,但是当我使用它时出现错误 代替* this.Can任何人都告诉我这是什么和*这意味着
function $parse(expression) {
return function() {
return $eval(expression);
}
}
输出:
#include<iostream>
using namespace std;
class Test
{
private:
static int count;
public:
Test& fun(); // fun() is non-static now
};
int Test::count = 0;
Test& Test::fun()
{
Test::count++;
cout<<Test::count<<" ";
return *this;
}
int main()
{
Test t;
t.fun().fun().fun().fun();
return 0;
}
当我用它代替*时,会出现这个错误:
1 2 3 4
有人能通过举一个好例子告诉我这和*之间有什么区别吗?
答案 0 :(得分:7)
任何人都可以告诉我这是什么意思和*这意味着
this
是指向当前对象的指针。
*this
是当前对象。
您可能知道解除引用运算符的作用是什么?我不知道您为什么要随意尝试将this
换成*this
。不要那样做。