【发布时间】:2013-03-16 22:41:01
【问题描述】:
我的问题是指带有类的指针和关键字 this。
class class1 {
public:
bool isitme(class1& temp){
if(this == &temp)
return true;
else return false;
}
};
int main () {
class1 c3;
class1* c2 = &c3;
if(c3.isitme(*c2))
cout << "c3 == c2"; //it is returning that
system("pause");
}
上面的代码可以工作,但我不明白为什么它只在bool isitme(class1& temp) 和if(this == &temp) 在同一个函数isitme() 中时才有效。
我的意思是,我们已经在类参数中读取了 temp 的内存块 class1& temp,并且应该能够将该内存块与关键字 this 进行比较。为什么这个函数只有在我双重获取引用 (this == &temp) 时才为真?
谢谢
【问题讨论】:
标签: c++ class pointers reference