黑马程序员技术交流社区

标题: 对象方面的疑问 [打印本页]

作者: stone24    时间: 2014-3-27 11:55
标题: 对象方面的疑问
本帖最后由 stone24 于 2014-3-28 11:04 编辑

Void  test(Car  *newC)
{
          Car  *c2 = [Car  new];
        c2 ->wheels = 5;
        c2 ->speed = 300;
}

int  main()
{
        Car  *c = [Car  new];
        c ->wheels = 4;
        c ->speed = 350;
    test( c );
}
// test执行完后,内存里的形参指针和 c2 指针的存储空间随即销毁,但c2对象还会在,如果后面还想访问c2并设置它的成员变量该怎么做(指向它的指针没有了,再怎么访问它);后面再调用test ,生成的对象,还是c2吗?


作者: 周宇华    时间: 2014-3-27 12:20
test执行完毕后,c2的对象还在,但是已经无法访问了,这种现象是内存泄露。
后面再调用test生成的对象虽然也叫c2,但是与上一次的c2是不同的对象,就好像是同名的人不是同一个人。
作者: stone24    时间: 2014-3-27 17:32
周宇华 发表于 2014-3-27 12:20
test执行完毕后,c2的对象还在,但是已经无法访问了,这种现象是内存泄露。
后面再调用test生成的对象虽然 ...

哦,了解了




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2