gpt4 book ai didi

c++ - 指向对象的指针将指向 C++ 中对象范围之外的什么

转载 作者:太空宇宙 更新时间:2023-11-04 15:04:49 25 4
gpt4 key购买 nike

class Foo{
private:
int i;
public:
Foo(int a)
{
i = a;
}

int getI() {return i;}
};

int main()
{
Foo* f;
if(true)
{
Foo g(1);
f = &g;
}

cout << f->getI() << endl;
return 0;
}

在上面的代码中,Foo 类的 g 对象一旦退出 if 子句就会超出范围。那么cout语句执行的时候,会打印1吗?

最佳答案

行为未定义。它可以做任何事情。您必须绝对避免未定义的行为。

关于c++ - 指向对象的指针将指向 C++ 中对象范围之外的什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19008062/

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