سؤال
ماذا يعني هذان الخطان الغريبان من الكود؟
thread_guard(thread_guard const&) = delete;
thread_guard& operator=(thread_guard const&) = delete;
المحلول
ال =delete
هي ميزة جديدة من C ++ 0x. وهذا يعني أن المترجم يجب أن يتوقف على الفور من التجميع ويشتكي "يتم حذف هذه الوظيفة" بمجرد استخدام المستخدم هذه الوظيفة (انظر أيضًا: الوظائف الافتراضية والحذف - التحكم في التخلف عن السداد من C ++ 0x أسئلة وأجوبة من قبل Bjarne Stroustrup).
ال thread_guard(thread_guard const&)
هو منشئ نسخ ، و thread_guard& operator=(thread_guard const&)
هو مُنشئ الواجب. هذان الخطان معًا ، يعطل نسخ thread_guard
حالات.
نصائح أخرى
إنه بناء جملة C ++ 0x الجديد لتعطيل وظائف معينة من الفصل. نرى ويكيبيديا على سبيل المثال. هنا أنت تخبر هذا الفصل thread_guard
لا يمكن نسخه ولا يمكن تعيينه.
لا تنتمي إلى StackOverflow