鸡生蛋、蛋生鸡问题不必纠结,只需要仔细操控PTrackerArray,看代码
namespace Private{
class LifetimeTracker{
public:
LifetimeTracker(unsigned int x):longervity__(x){}
vitual ~LifetimeTracker()=0;
friend inline bool Compare(
unsigned int longevity,const LifetimeTraker *p)
{
return p ->longevity_<longevity;
}
private:
unsigned int longevity_;
}
inline LifetimeTracker::~LifetimeTracker(){}
}
namespace Private{
typedef LifetimeTracker ** TrackerArray;
extern TrackerArray pTrackerArray;
extern unsigned int elements;
}
template <typename T>void Delete(T *pObj)