ویرگول
ورودثبت نام
سید عمید قائم مقامی
سید عمید قائم مقامیبرنامه نویسی سیستم ویندوز و مهندسی معکوس و علاقه مند به آموزش.
سید عمید قائم مقامی
سید عمید قائم مقامی
خواندن ۱ دقیقه·۱۱ روز پیش

مبانی برنامه نویسی (Heap Memory):

حافظه 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

memoryheapمبانی کامپیوترسی پلاس پلاس
۰
۰
سید عمید قائم مقامی
سید عمید قائم مقامی
برنامه نویسی سیستم ویندوز و مهندسی معکوس و علاقه مند به آموزش.
شاید از این پست‌ها خوشتان بیاید