Raw means raw C++ new/delete pair.
Reference count means explicitly addRelease/subRelease (not any automatic share pointer in boost, the add/sub need to be called explicitly).
Mix means to use RC for shared object and raw for non-shared object.
I won't consider any auto garbage collection like management such as shared pointer. I would stick to manually manage the objects.
In a relative complex system, may include scene graph, even dispatch, resource management, what do you suggest to manage the objects?
The pros and cons of the three modes I can think:
Raw
Pros: every C++ developers know it very well.
Cons: hard for shared objects life time cycle management.
RC
Pros: Very good for shared object. Mac Cocoa uses it extensively.
Cons: What's the cons?
Mix
Pros: the most flexible
Cons: the newbie may get confused when to use Raw and when to use RC. And further more, messy up the system with mixed object management?
Looking forward to your opinion