Memory management for the OIM pattern
The C++ EXPRESS API is designed to handle large amounts of data very efficiently. To meet this requirement, memory for the C++ objects is managed by the CMemoryAllocator class. The CMemoryAllocator class uses the malloc() function to allocate chunks of memory from the C++ runtime system whenever needed. The parameter in the constructor for CMemoryAllocator specifies the chunk size. In the following example a CMemoryAllocator object is created with default chunk size of 1000.000 bytes:
CMemoryAllocator* ma = new CMemoryAllocator(1000000);
The generated C++ classes do not have destructors. This implies that it is not possible to delete (release memory of) single objects. Objects are released simultaneously by deleting the CMemoryAllocator object or by executing the Reset method. The benefit of this way of deleting objects is better performance and almost no probability for memory fragmentation.