
حافظه Heap چیست؟
Heap بخشی از حافظهٔ RAM است که برای ذخیرهسازی داینامیک (Dynamic Allocation) استفاده میشود.
یعنی در زمان اجرا (Runtime) میتوان به اندازهٔ دلخواه حافظه رزرو کرد.
در C++، رزرو حافظه در Heap با کلمهٔ new انجام میشود و آزادسازی آن با delete.
ویژگیهای مهم حافظه Heap
1. اندازهٔ بزرگتر از استک
هیپ بسیار بزرگتر از استک است و میتواند دادههای حجیم را ذخیره کند.
2. کنترل دستی حافظه
برنامهنویس باید خودش حافظه را آزاد کند:
delete p;
اگر فراموش کند → Memory Leak (نشت حافظه).
3. سرعت کمتر از Stack
چون مدیریت آن پیچیدهتر است و آدرسها پراکندهاند.
4. عمر متغیرها وابسته به new/delete
نه مثل استک که با خروج از تابع پاک شود.
چه زمانی که از Heap استفاده میکنیم؟
وقتی:
مقدار حافظه زیاد باشد.
اندازه در زمان اجرا مشخص شود.
نیاز باشد داده بعد از خروج از تابع زنده بماند.

مثال:
#include <iostream> using namespace std; int main() { // تخصیص حافظه در هیپ int* p = new int; *p = 50; // قرار دادن مقدار در حافظه هیپ cout << "Value = " << *p << endl; delete p; // آزادسازی حافظه return 0; }
Telegram: @CaKeegan
Gmail : amidgm2020@gmail.com