TheHeap is a (somewhat archaic, but still in common use) term for the memory from which a program may dynamically allocate memory blocks. TheHeap may or may not be contiguous. Lots of different allocation strategies are used to assign a particular memory block for a given request (FirstFit, BestFit, etc.). Not to be confused with the data structure known as a "heap" (HeapDataStructure--think HeapSort). Some languages (such as CeePlusPlus) provide a way for different data types to be allocated from different heaps. This can be used to improve performance, but unless the programmer knows what he/she is doing, this frequently makes things worse. Unless it is done in response to profiling showing that the "default" memory allocator is a bottleneck, this is PrematureOptimization. * Unfortunately, there are still many C/C++ implementations out there with lousy implementations of malloc/OperatorNew.