Object Counter
The main purpose of an object counter is retrieving statistics of object creation and destruction for a given class. This can be easily solved using CRTP:
templateEach time an object of class X
is created, the constructor of counter
is called, incrementing both the created and alive count. Each time an object of class X
is destroyed, the alive count is decremented. It is important to note that counter
and counter
are two separate classes and this is why they will keep separate counts of X
's and Y
's. In this example of CRTP, this distinction of classes is the only use of the template parameter (T
in counter
) and the reason why we cannot use a simple un-templated base class.
Read more about this topic: Curiously Recurring Template Pattern
Famous quotes containing the words object and/or counter:
“I find very reasonable the Celtic belief that the souls of our dearly departed are trapped in some inferior being, in an animal, a plant, an inanimate object, indeed lost to us until the day, which for some never arrives, when we find that we pass near the tree, or come to possess the object which is their prison. Then they quiver, call us, and as soon as we have recognized them, the spell is broken. Freed by us, they have vanquished death and return to live with us.”
—Marcel Proust (18711922)
“Family traditions counter alienation and confusion. They help us define who we are; they provide something steady, reliable and safe in a confusing world.”
—Susan Lieberman (20th century)