I am somewhat confused about when things are allocated on the heap (and I need to release them) and when they are allocated on the stack (and I don't need to relese them).

Is there a rule of thumb?

I think in C++ the rule of thumb is that if you use the new keyword they are on the heap. What is the rule with objective c? How can I tell when something is allocated on the stack?

Will this line of code be allocated on the stack?

NSString *user = @"DEFAULT";
Edit
Report