هل تحتاج إلى malloc في C ++؟
هل تحتاج إلى malloc في C ++؟

فيديو: هل تحتاج إلى malloc في C ++؟

فيديو: هل تحتاج إلى malloc في C ++؟
فيديو: 0x0C C - More malloc, free فيديو الشرح | ALX بالعربي 2024, شهر نوفمبر
Anonim

أنت استعمال مالوك متي انت تحتاج لتخصيص الأشياء التي يجب موجودة بعد عمر تنفيذ الكتلة الحالية (حيث يكون النسخ عند الإرجاع سيكون تكون باهظة الثمن أيضًا) ، أو إذا تحتاج إلى تخصيص الذاكرة أكبر من حجم هذا المكدس (على سبيل المثال: مجموعة مكدس محلية بحجم 3 ميغا بايت فكرة سيئة).

أيضا ، هل تحتاج إلى malloc في C ++؟

الفرق بسيط: مالوك يخصص الذاكرة ، بينما الجديد يخصص الذاكرة ويستدعي منشئ الكائن أنت إعادة تخصيص ذاكرة لـ. لذلك ، ما لم أنت يقتصر على C ، يجب لم أستعمل أبدا مالوك خاصة عند التعامل معها C ++ أشياء.

قد يتساءل المرء أيضًا ، ما هو الهدف من malloc؟ في C ، وظيفة المكتبة مالوك يستخدم لتخصيص كتلة من الذاكرة على الكومة. يصل البرنامج إلى هذه الكتلة من الذاكرة عبر مؤشر مالوك عائدات. عندما لا تكون هناك حاجة إلى الذاكرة ، يتم تمرير المؤشر لتحريره مما يؤدي إلى إلغاء تخصيص الذاكرة بحيث يمكن استخدامها لأغراض أخرى.

بهذه الطريقة ، هل هناك malloc في C ++؟

مالوك () تعمل في C ++ يخصص أ كتلة من الذاكرة غير المهيأة والعودة أ مؤشر باطل ل ال البايت الأول من ال تخصيص كتلة الذاكرة إذا ال ينجح التخصيص. لو ال الحجم صفر ، ال القيمة التي تم إرجاعها تعتمد على ال بداية شئ ال مكتبة. هو - هي قد يكون أو لا يكون أ مؤشر فارغ.

كيف يمكنك إنشاء هيكل؟

لما تريد تحتاج اثنين مالوك () س. هيكل المتجه * y = مالوك (sizeof * y) ؛ / * لاحظ المؤشر * / y-> x = calloc (10، sizeof * y-> x)؛ في السطر الأول ، تقوم بتخصيص ذاكرة لكائن متجه. مالوك () تُرجع مؤشرًا إلى الذاكرة المخصصة ، لذلك يجب أن تكون y مؤشرًا متجهًا.