Sta*_*aro 9 malloc objective-c automatic-ref-counting
如果我使用malloc和自动引用计数,我还需要手动释放内存吗?
int a[100];
int *b = malloc(sizeof(int) * 100);
free(b);
Run Code Online (Sandbox Code Playgroud)
das*_*ght 20
是的,您必须将呼叫编码给free自己.但是,如果将指针放在引用计数对象的实例中,则指针可以间接参与引用计数系统:
@interface MyObj : NSObject {
int *buf;
}
@end
@implementation MyObj
-(id)init {
self = [super init];
if (self) {
buf = malloc(100*sizeof(int));
}
}
-(void)dealloc {
free(buf);
}
@end
Run Code Online (Sandbox Code Playgroud)
无法用这种方式编写调用free- 无论如何,你必须在代码中使用它.
| 归档时间: |
|
| 查看次数: |
6985 次 |
| 最近记录: |