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