TMCCountedCreateHelper< T > Class Template Reference
[MCCore]
List of all members.
Detailed Description
template<class T>
class TMCCountedCreateHelper< T >
Counted objects are objects that use a counter to keep track of how many other objects need them, and delete themselves when nobody needs them anymore. A counted object has an AddRef method that increments its counter, and a Release method that decrements it. When the value of the counter reaches zero, the object is deleted.
It is possible to call AddRef and Release "by hand" but it is a bad idea for at least two reasons. First, it is very easy to forget to add a call to Release, therefore causing a memory leak. Second the code becomes more complex because in every function that calls AddRef, you must consider exceptions. So you have to use a try/catch block, add a call to Release at the end of the try AND another one before re-throwing in the catch section...
Because they automatically call AddRef and Release, TMCCountedPtr, TMCCountedGetHelper and TMCCountedCreateHelper are your best friends.
TMCCountedCreateHelper makes it easier implement a function that creates a counted object and returns it through a parameter. Here's a typical code sample:
- Note:
- that in such a case, you must use a TMCCountedCreateHelper. If you were using a TMCCountedGetHelper, the object would never be deleted because of the extra addref.
For more information, please refer to the "Counted Pointers" chapter in the overview of the SDK.
Constructor & Destructor Documentation
Member Function Documentation
Member Data Documentation
The documentation for this class was generated from the following file: