Почему это не более популярная идиома / паттерн?
#include <list>
class A {
int data;
static std::list<A*> glist;
public:
A():data(0) {
glist.push_back(this);
}
~A() {
glist.remove(this);
}
};
Это как сеть безопасности. Вы можете удалить экземпляр A
из любого указателя на него, и список управляет собой. Разве это не намного лучше, чем создавать отдельные контейнеры для отслеживания ваших A
и ошибок при их управлении? Я предполагаю, что делаю большое дело из чего-то действительно простого. Но держу пари, это могло бы сэкономить мне много времени отладки в прошлом