C++ Memory Management
🔹 تعریف
-
Memory Management در C++ یعنی کنترل و استفاده از حافظه RAM برای برنامه.
-
دو نوع حافظه اصلی وجود دارد:
-
Stack (پشته) → حافظه خودکار برای متغیرهای محلی
-
Heap (انبوه) → حافظه دینامیک که با
newوdeleteمدیریت میشود
-
🔹 1️⃣ حافظه خودکار (Stack)
-
متغیرهای محلی داخل تابع به طور خودکار ایجاد و پاک میشوند.
-
مثال:
🔹 2️⃣ حافظه پویا (Heap)
-
وقتی اندازه حافظه در زمان کامپایل مشخص نیست یا بزرگ است، از heap استفاده میکنیم.
-
با
newوdeleteمیتوان حافظه را اختصاص داد و آزاد کرد.
مثال ایجاد حافظه پویا
مثال با آرایه پویا
🔹 خروجی: 1 2 3 4 5
🔹 نکات مهم
-
متغیرهای stack خودکار پاک میشوند، نیاز به
deleteنیست. -
هر new باید با delete جفت شود، وگرنه Memory Leak رخ میدهد.
-
استفاده از heap انعطافپذیری بیشتری برای دادههای بزرگ یا زمان اجرای نامشخص فراهم میکند.
-
میتوان از smart pointer ها (C++11 به بعد) برای مدیریت خودکار heap استفاده کرد:
HTML
Tailwind Css
Bootstrap 5
Java script
++C
Python
Three.js
Gsap
Sass
SQL
React