Detailed explanation of C++ heap, stack and static data area