C ++函数无法修改成员?

我已经调试了一段时间,并认为它与功能未正确覆盖有关,但是显然,调用类似乎没有对正确对象的引用。我以为该对象可能由于某种原因被破坏了,但是发现了以下内容:在下面的函数中,handle类的一个实例应该将自己分配给obj实例中的一个指针,该指针似乎不起作用:

调用以下成员函数时:

void assign(Obj& p) {

    p.handle = this;

    if (this == nullptr) {
        print("I DON'T EXIST\n");
    } else {
        print("I EXIST\n");
    }

    if (&p == nullptr) {
        print("P NULL\n");
    } else {
        print("P EXIST\n");
    }

    if (p.handle == nullptr) {
        print("HANDLE NULL\n");
    } else {
        print("HANDLE EXIST\n");
    }

}

这是输出:

I EXIST
P EXIST
HANDLE NULL
评论