C++ new and delete
🔹 تعریف
-
new
→ برای ایجاد حافظه پویا (Dynamic Memory Allocation) استفاده میشود. -
delete
→ برای آزاد کردن حافظهای که با new ایجاد شده استفاده میشود. -
کاربرد اصلی: زمانی که اندازه داده در زمان اجرا مشخص است یا داده بزرگ است.
🔹 1️⃣ تخصیص حافظه برای یک متغیر
🔹 2️⃣ تخصیص حافظه برای آرایه
🔹 خروجی: 0 2 4 6 8
⚠️ توجه: برای آرایهها از
[]delete
استفاده کنید، نه فقطdelete
.
🔹 نکات مهم
-
هر new باید با delete جفت شود تا Memory Leak رخ ندهد.
-
حافظه ایجاد شده با
new
روی Heap ذخیره میشود و تا زمان فراخوانیdelete
باقی میماند. -
مقداردهی به pointer بعد از delete نامعتبر است، باید pointer را nullptr کرد:
-
در C++11 به بعد میتوان از smart pointers برای مدیریت خودکار حافظه استفاده کرد: