Другой вариант, который вы можете рассмотреть, - использовать класс интеллектуальных указателей (например, boost::scoped_ptr
, boost::shared_ptr
или C ++ 0x unique_ptr
) вместо необработанного указателя.Конструктор умного указателя удостоверится, что он инициализируется чем-то вроде NULL, если вам не нужна какая-то другая явная инициализация.Интеллектуальный указатель также гарантирует, что указанный объект уничтожен.
Вам просто нужно решить, какая политика смарт-точек подходит для элемента, и выбрать соответствующий вариант (даже auto_ptr
может быть лучшенеобработанный указатель, если вы знаете о различных ловушках).