发布的对象崩溃应用程序

时间:2010-04-16 17:19:01

标签: iphone cocoa memory-management boost objective-c++

我正在使用Objective-C ++(+ Boost)进行iPhone开发。

我处于一个相当紧凑的循环中,需要分配和释放某个对象。

代码是这样的。

for (int i=0;i<100;i++)
{
    opt = [[FObj alloc] init];
    //do stuff with opt
    [opt release];
}

FObj对象类似于

@interface FObj
  MyCPPObj  * cppobj;
@end

在FObj的实现中有一个dealloc方法:

-(void) dealloc
{
  delete cppobj; //previously allocated with 'new'
  [super dealloc];
}

我担心如果我不释放那么'MyCPPObj'就会堆积起来。但是在第一次循环之后,释放会使应用程序崩溃。我做错了什么?

或许我应该制作cppobj和boost :: shared_ptr?

(当删除Objective-C ++对象时,是否会提升共享指针自动释放对象?)

0 个答案:

没有答案