لماذا نستخدم emplace في ++ C؟

لماذا نستخدم emplace في ++ C؟
لماذا نستخدم emplace في ++ C؟
Anonim

في C ++ ، تدعم جميع الحاويات (المتجه ، والمكدس ، وقائمة الانتظار ، والتعيين ، والخريطة ، وما إلى ذلك) كلاً من عمليات الإدراج والموقع. ميزة emplace هي أنهيقوم بالإدراج في المكان ويتجنب نسخة غير ضرورية من الكائن. … لكن بالنسبة للأشياء ، يفضل استخدام emplace لأسباب تتعلق بالكفاءة.

ما هي وظيفة emplace المستخدمة؟

C ++ تعيين وظيفة emplace تستخدملتوسيع الحاوية المحددة عن طريق إدراج عناصر جديدة في الحاوية. العناصر مبنية بشكل مباشر (لا يتم نسخها ولا نقلها). يتم استدعاء مُنشئ العنصر من خلال إعطاء الوسيطات التي تم تمريرها إلى هذه الوظيفة. يتم الإدخال فقط في حالة عدم وجود المفتاح بالفعل.

هل emplace أفضل من إدراج؟

تتجنب عملية emplace النسخ غير الضروري للكائن وتجعل الإدراج أكثر كفاءة من عملية الإدراج. تأخذ عملية الإدراج إشارة إلى كائن.

ماذا يفعل emplace في C ++؟

الخريطة:: emplace هي وظيفة مضمنة في C ++ STL والتيتُدرج المفتاح وعنصره في حاوية الخريطة. يزيد بشكل فعال من حجم الحاوية بمقدار واحد.

ما هو الفرق بين emplace و push؟

الفرق بين المكدس:: emplace والمكدس:: pushfunction. بينما تقوم وظيفة الدفع بإدراج نسخة من القيمة أو المعلمة التي تم تمريرها إلى الوظيفة في الحاوية في الأعلى ، تقوم وظيفة emplace بإنشاء عنصر جديد كقيمة للمعامل ثم تضيفه إلى الجزء العلوي من الحاوية.