Я бы все-таки посмотрел в сторону shared_ptr'ов.