handleFrameToggleChange(index, event) {
var frame_setting = this.state.frame;
frame_setting[index].enabled = frame_setting[index].enabled == "0" ? "1" : "0";
frame_setting[index].show_text = frame_setting[index].show_text == "0" ? "1" : "0";
this.setState({
frame: frame_setting
});
}
我正在查看此C ++示例,但我不明白为什么#include <iostream>
using namespace std;
class Dummy {
public:
bool isitme (Dummy& param);
};
bool Dummy::isitme (Dummy& param)
{
if (¶m == this) return true;
else return false;
}
int main () {
Dummy a;
Dummy* b = &a;
if ( b->isitme(a) )
cout << "yes, &a is b\n";
return 0;
}
使用解除引用标记'&amp;'。参数是Dummy对象本身对,为什么它是对象的地址?
答案 0 :(得分:3)
&符号不是“解除引用标志”。它在这里以两种不同的方式使用,我将在下面解释。
“取消引用标志”是星号(*)。
bool Dummy::isitme (Dummy& param)
在此处,Dummy& param
表示param
是对Dummy
对象的引用。
if (¶m == this) return true;
在此,¶m
表示param
的地址。
答案 1 :(得分:0)
isitme
通过引用获取其参数,即它获取对象的地址而不是复制它。关键是不要复制对象并处理原始对象。