April 2020
Intermediate to advanced
412 pages
9h 58m
English
Even though the implementation of the object pool simplifies working with preallocated objects, it has a number of limitations.
Firstly, all objects are created at the very beginning. As a result, calling the get method of our pool does not trigger an object constructor, and calling the free method does not call a destructor. Developers need to use various workarounds for the initialization and deinitialization of objects.
One possible workaround is to define special methods of the target object, such as initialize and deinitialize, which will be invoked respectively by the get and free methods of the ObjectPool class. This approach, however, couples the implementation of the classes to the ObjectPool implementation. Later ...