سؤال

غنو دول مجلس التعاون الخليجي 4.3 جزئيا يدعم القادمة c++0x القياسية:بين تنفيذ ميزات rvalue المرجعية.بواسطة rvalue المرجعية ينبغي أن يكون من الممكن نقل غير copyable كائن أو العودة من العمل.

هي std::تيارات بالفعل المنقولة بواسطة rvalue المرجعية أو هل المكتبة الحالية تنفيذ تفتقر إلى شيء ما ؟

هل كانت مفيدة؟

المحلول

في ز إس الحالي ++، لم يتم إضافة دعم rvalue إشارة إلى تيارات. أظن مضيفا أنه لن يكون من الصعب جدا ومن أي وقت مضى مع البرمجيات مفتوحة المصدر، البقع، وأنا متأكد، مرحبا!

نصائح أخرى

بعد التحقيق في الأمر أن rvalue المرجعية الدعم لم يتم إضافتها بعد أن تيارات.

العودة غير copyable كائن من وظيفة بل هي كافية لتنفيذ الخطوة منشئ على النحو التالي:

struct noncopyable
{
    noncopyable()
    {}

    // move constructor
    noncopyable(noncopyable &&)
    {}

private:
    noncopyable(const noncopyable &);
    noncopyable &operator=(const noncopyable &);
};

هذه منشئ المفترض أن نقل ملكية إلى كائن جديد وترك واحدة يتم تمريرها في الحالة الافتراضية.

قال ذلك ، فمن الممكن أن يعود كائن من وظيفة في هذه الطريقة:

noncopyable factory()
{
    noncopyable abc;
    return std::move(abc);
}

في حين std::تيار لا يدعم الانتقال منشئات يبدو أن المحكمة الدولية الخاصة بلبنان الحاويات التي يتم شحنها مع دول مجلس التعاون الخليجي 4.3.2 هل بالفعل الدعم لها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top