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:
“He who is in love is wise and is becoming wiser, sees newly every time he looks at the object beloved, drawing from it with his eyes and his mind those virtues which it possesses.”
—Ralph Waldo Emerson (18031882)
“Speaking of contraries, see how the brook
In that white wave runs counter to itself.
It is from that in water we were from
Long, long before we were from any creature.”
—Robert Frost (18741963)