فيديو: هل تحتاج إلى malloc في C ++؟
2024 مؤلف: Lynn Donovan | [email protected]. آخر تعديل: 2023-12-15 23:43
أنت استعمال مالوك متي انت تحتاج لتخصيص الأشياء التي يجب موجودة بعد عمر تنفيذ الكتلة الحالية (حيث يكون النسخ عند الإرجاع سيكون تكون باهظة الثمن أيضًا) ، أو إذا تحتاج إلى تخصيص الذاكرة أكبر من حجم هذا المكدس (على سبيل المثال: مجموعة مكدس محلية بحجم 3 ميغا بايت فكرة سيئة).
أيضا ، هل تحتاج إلى malloc في C ++؟
الفرق بسيط: مالوك يخصص الذاكرة ، بينما الجديد يخصص الذاكرة ويستدعي منشئ الكائن أنت إعادة تخصيص ذاكرة لـ. لذلك ، ما لم أنت يقتصر على C ، يجب لم أستعمل أبدا مالوك خاصة عند التعامل معها C ++ أشياء.
قد يتساءل المرء أيضًا ، ما هو الهدف من malloc؟ في C ، وظيفة المكتبة مالوك يستخدم لتخصيص كتلة من الذاكرة على الكومة. يصل البرنامج إلى هذه الكتلة من الذاكرة عبر مؤشر مالوك عائدات. عندما لا تكون هناك حاجة إلى الذاكرة ، يتم تمرير المؤشر لتحريره مما يؤدي إلى إلغاء تخصيص الذاكرة بحيث يمكن استخدامها لأغراض أخرى.
بهذه الطريقة ، هل هناك malloc في C ++؟
مالوك () تعمل في C ++ يخصص أ كتلة من الذاكرة غير المهيأة والعودة أ مؤشر باطل ل ال البايت الأول من ال تخصيص كتلة الذاكرة إذا ال ينجح التخصيص. لو ال الحجم صفر ، ال القيمة التي تم إرجاعها تعتمد على ال بداية شئ ال مكتبة. هو - هي قد يكون أو لا يكون أ مؤشر فارغ.
كيف يمكنك إنشاء هيكل؟
لما تريد تحتاج اثنين مالوك () س. هيكل المتجه * y = مالوك (sizeof * y) ؛ / * لاحظ المؤشر * / y-> x = calloc (10، sizeof * y-> x)؛ في السطر الأول ، تقوم بتخصيص ذاكرة لكائن متجه. مالوك () تُرجع مؤشرًا إلى الذاكرة المخصصة ، لذلك يجب أن تكون y مؤشرًا متجهًا.