1) Вручную отслеживаете? ("Ага, этот объект прибивается раньше этого, значит упасть не должно... э... я что-то упустил...")
2) Делаете железобетонные "правила владения"? ("При создании объекта A указываете в качестве родительского объект B. Я сказал, B, а не C, вашу мать!")
3) Везде пихаете boost::shared_ptr? А код, утыканный shared_ptr<>? А многопоточность? А производительность? А циклические ссылки? А структуры с указателями, в которых предполагаются голые указатели?
4) Используете garbage collector? Но он же точным быть не может? А производительность? А кроссплатформенность?
Как правильно-то? Кошерно, православно, канонично? Просветите меня, невежественного, плиз.