"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > متى يتم إنشاء منشئي النقل ومشغلي المهام تلقائيًا في C++ 11؟

متى يتم إنشاء منشئي النقل ومشغلي المهام تلقائيًا في C++ 11؟

تم النشر بتاريخ 2024-12-26
تصفح:304

When Are Move Constructors and Move Assignment Operators Automatically Generated in C  11?

التوليد التلقائي لعمليات النقل

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

بموجب C 11، لا يتم إنشاء عمليات النقل تلقائيًا مثل مُنشئي النسخ ومشغلي تخصيص النسخ. يقوم المترجم بإنشاء دلالات النقل فقط إذا تم استيفاء شروط معينة:

    لا يوجد مُنشئ نسخة محدد من قبل المستخدم أو عامل تخصيص النسخ.
  • إذا تم تعريف أي من هؤلاء الأعضاء بشكل صريح، فلن يتم النقل يتم إنشاء العمليات.
  • لم يتم تعريف أداة إتلاف محددة من قبل المستخدم.
  • يؤدي تحديد أداة إتلاف إلى تعطيل إنشاء الحركة دلالات.
  • لا يحتوي الفصل على أعضاء غير قابلين للنسخ.
  • لا يتم إنشاء عمليات النقل إذا كان الفصل يحتوي على أعضاء لا يمكن نقلهم، مثل المؤشرات إلى الذاكرة المخصصة ديناميكيًا.
  • يساعد فهم هذه القواعد في توجيه تنفيذ الفئات التي تستخدم دلالات النقل. يقدم الجدول من عرض Howard Hinnant نظرة عامة موجزة عن الإنشاء التلقائي للأعضاء المميزين، بما في ذلك عمليات النقل:

الإعلان لا شيء تم الإنشاء تم الإنشاء لم يتم الإنشاء منشئ النسخلا تم الإنشاءتم الإنشاءلم يتم الإنشاءعامل نسخ المهمةلم يتم الإنشاءلم يتم الإنشاءلم يتم الإنشاءنقل المُنشئلم يتم الإنشاءلم يتم الإنشاءنقل مشغل المهمةلم يتم الإنشاءلم يتم إنشاؤهلا تم الإنشاء المدمر لم يتم الإنشاء لم يتم الإنشاء منشئ النسخ وعامل تعيين النسخنسخ المنشئ ونقل المنشئلم يتم الإنشاءلم يتم الإنشاءلم يتم الإنشاء نسخ المُنشئ ونقل المهمة عامل التشغيللم يتم إنشاؤهلم يتم إنشاءهنسخ عامل التعيين ونقل المنشئلا تم الإنشاءلم يتم الإنشاءلا تم الإنشاء مشغل تعيين النسخ ونقل عامل التعيين لم يتم الإنشاء لم يتم الإنشاء لم يتم الإنشاءنقل المُنشئ والمدمرلا تم الإنشاءلم يتم الإنشاءلم يتم الإنشاءنقل عامل التعيين والمدمرلم يتم الإنشاءلم يتم الإنشاء لم يتم إنشاؤهلم يتم الإنشاءلم يتم الإنشاءنسخ المُنشئ ونقل المُنشئ ونقل عامل التعيينلم يتم الإنشاءلم يتم الإنشاءتم إنشاؤهنسخ عامل التعيين وتحريك المنشئ والنقل مشغل المهمةلم يتم الإنشاءلم يتم الإنشاءمن خلال التعرف على هذه القواعد، يمكن للمطورين التأكد من أن تستخدم الفصول دلالات الحركة بشكل صحيح وتحقق الكفاءة المثلى.
منشئ النسخ نسخ عامل التعييننقل المُنشئ ونقل التعيين عامل التشغيل
لم يتم إنشاؤهلا تم الإنشاءلم يتم الإنشاء
منشئ النسخ & نسخ عامل التعيين ونقل المُنشئلم يتم الإنشاء
نسخ المُنشئ ونسخ عامل التخصيص والنقل عامل التعيينلم يتم إنشاؤهلا تم الإنشاء
تم الإنشاء
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3