gpt4 book ai didi

c++ - 这段 C++ 代码是如何工作的?未初始化的指针

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:57:26 27 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
What will happen when I call a member function on a NULL object pointer?

class A {
public:
void foo() { cout << "Work";}
void bar() { this->foo(); }//new edit, works too!
};

class B {
private:
A *a; //never initialized
public:
A& getA() {
return *a;
}
};

void SomeFunction() {
B *b = new B();
B& bRef = *b;
bRef.getA().bar();//edited
delete b;
}

我在没有初始化“a”的情况下调用了 SomeFunction(),它仍然正确地打印“Work”。我不明白为什么,它应该因段错误而退出!

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com