Не зная вашего кода и ваших требований, я вижу 2 разумных варианта:
а) Используйте boost::shared_ptr
. Он имеет встроенные счетчики атомных ссылок, которые вы предложили, и заботится об управлении вашей памятью (так что вам никогда не захочется смотреть на счетчик). Его счетчик ссылок доступен через члена use_count()
.
b) Если последствия а), такие как работа с указателями и наличие shared_ptrs
везде, или возможные потери производительности, для вас неприемлемы, я бы предложил просто использовать доступные инструменты для обнаружения утечки памяти (например, Valgrind , см. Выше), который сообщит о ваших незакрепленных объектах при выходе из программы. И нет необходимости использовать навязчивые вспомогательные классы для (в любом случае только для отладки) отслеживания количества объектов, которые просто портят ваш код, ИМХО.