为什么免费商店中对象的生命周期与范围有关?

时间:2017-02-08 13:11:08

标签: c++

如果我有一些指向NULL的对象,并且我想在函数范围内使用new分配它,为什么此对象的生命周期限于范围?

SomeObject *o = nullptr;

void f(SomeObject *o)
{
    o = new SomeObject; //Not null
}

o->doWhatever(); //Null again

并且:我如何分配someObject其他(不返回)?

1 个答案:

答案 0 :(得分:0)

传递给函数f的输入参数与全局变量的名称相同。

因此函数f内的赋值适用于局部变量而不是全局变量。