Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Not the same, and overwhelmingly less useful.


dealloc is pretty much the same thing, and it can be used in the same way. It's not "useful" in the C++ RAII sense because:

- the standard library design -- every object is refcounted and any code that references the object can add it to an autorelease pool, so you can't safely predict when dealloc will be invoked

- Objective C doesn't support stack-based objects


You can do stuff:

  @autoreleasepool {
    RaiObj* obj = [RaiObj new];
    [obj autorelease];

    //... stuff
  }
will de-allocate at the end of the block if nothing else hold onto it, but it's obviously less neat.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: