- [ تعرٌف على ] سي++11
- [ وسطاء عقاريين السعودية ] عمر عبدالله محمد الحماد ... الرياض ... منطقة الرياض
- [ تعرٌف على ] الحق في الانتصاف الفعال
- [ تعرٌف على ] ضحى هاني
- [ وسطاء عقاريين السعودية ] بدريه ناصر شيبان القحطاني ... الدلم ... منطقة الرياض
- [ تعرٌف على ] أنطون بطرس خريش
- [ تعرٌف على ] الراهب الأسود (رواية)
- [ تعرٌف على ] العلاقات الأمريكية الإريترية
- [ صحة وطب الامارات ] عيادة المنيرة ... دبي
- [ عيون ] أعراض المياه الزرقاء
- [ تعرٌف على ] الغيبة الصغرى
- [ العناية بحديثي الولادة ] كيفية تنظيف أنف الرضيع
- [ آلات موسيقية ] 6 معلومات لا تعرفها عن موسيقى مونامور
- [ دليل أبوظبي الامارات ] بقالة بن كرامة ... أبوظبي
- [ تعرٌف على ] أندريس أوبر
- [ سوبر ماركت السعودية ] مركز هانى للمواد الغذائية
- [ ماذونين السعودية ] علي محمد احمد الشهري ... جدة
- [ وسطاء عقاريين السعودية ] بكري محمد بكري القعاري ... جازان ... منطقة جازان
- [ وسطاء عقاريين السعودية ] عبدالرحيم علي علي غروي ... جدة ... منطقة مكة المكرمة
- [ تعرٌف على ] العلاقات الصينية الجيبوتية
- [ تعرٌف على ] ألعاب جنوب المحيط الهادئ 1971
- [ وسطاء عقاريين السعودية ] عبدالرحمن عبدالعزيز فهد الكلثم ... الدمام ... المنطقة الشرقية
- [ صيدليات السعودية ] Aljamaa pharmacy No.8
- [ الكترونيات الامارات ] أيركوم أم إي ايه منطقة حرة (ذ.م.م) ... دبي
- [ خذها قاعدة ] قصائدي من دونِ عناوين؛ لأنّ العنونة شكل من ممارسة سُلطةٍ لا أُطيقها. - برانيه موزيتيتش
- [ شركات المفروشات والسجاد قطر ] بريث جروب للمفروشات Breathe-Group ... الدوحة
- [ مستشفيات الامارات ] مستشفى ميديكلينيك ويلكير
- [ خذها قاعدة ] لوْ كنتُ أعلَمُ أَن الحُبَّ يقتلني, أعددتُ لي قبلَ أن ألقاكِ أكفانا. - بشار بن برد
- [ شركات مقاولات السعودية ] مؤسسة رضاقاسم احمد للمقاولات ... الخرج ... الرياض
- [ وسطاء عقاريين السعودية ] ريما فهد بن غريب الشيباني ... الرياض ... منطقة الرياض
- [ حيوانات وطيور ] 3 خطوات ونصائح هامة لتربية السمان نقدمها لهواة تربية هذه الطيور
- [ تعرٌف على ] حبيب بن عبيد الرحبي
- [ وسطاء عقاريين السعودية ] ابراهيم شوعي مقبول هتان ... العاليه والخضراء ... منطقة جازان
- [ وسطاء عقاريين السعودية ] عبدالاله علي محمد الغامدي ... الاحساء ... المنطقة الشرقية
- [ شركات مقاولات السعودية ] مؤسسة الفيصل الذهبي للمقاولات ... مكة المكرمة ... مكة المكرمة
- [ صيدليات الامارات ] LIFE Pharmacy
- [ وسطاء عقاريين السعودية ] مهند مبارك بن محمد القحطاني ... الدمام ... المنطقة الشرقية
- [ وسطاء عقاريين السعودية ] مريم عبدالله حميد السهلي ... جدة ... منطقة مكة المكرمة
- [ خذها قاعدة ] لا سعادة بلا كرامة. - نجيب محفوظ
- [ تعرٌف على ] خالدة للبترول
- [ التدبير المنزلي ] كيف أزيل بقع الحبر
- [ الصحة الجنسية ] كيفية التخلص من أكياس المبايض
- [ وزارات وهيئات حكومية السعودية ] مركز صحى القليب
- [ وسطاء عقاريين السعودية ] علي عاضه سفر الحارثي ... جدة ... منطقة مكة المكرمة
- [ تعرٌف على ] العلاقات الإسبانية الجيبوتية
- [ وسطاء عقاريين السعودية ] رعد محمد عبدالله عقيل ... ابو عريش ... منطقة جازان
- [ وسطاء عقاريين السعودية ] فهد عزيز سعد الصانع ... الرياض ... منطقة الرياض
- [ وسطاء عقاريين السعودية ] ريان محمد صالح البلوي ... تبوك ... منطقة تبوك
- [ وسطاء عقاريين السعودية ] عبدالله عبدالعزيز سعود ال دهام ... الرياض ... منطقة الرياض
- [ مقاهي السعودية ] بيك اند تيك
- [ خذها قاعدة ] في المرة القادمة التي تنظر فيها إلى المرآة، قل شيئاً إيجابياً عن نفسك. - شين كوفي
- [ دليل العين الامارات ] سعادة الشيخ طحنون بن محمد آل نهيان الجندي. مكتب ... العين
- [ تعرٌف على ] دان ميلر (سياسي أمريكي)
- [ متاجر السعودية ] شادن كوكيز ... الدرعية ... منطقة الرياض
- [ مطاعم السعودية ] مطعم السنارة
- [ تعرٌف على ] غرانيت (أوريغون)
- [ تعرٌف على ] فيانارانتسوا
- [ وسطاء عقاريين السعودية ] سلمان ظافر بن عبدالله العمري ... مكه المكرمه ... منطقة مكة المكرمة
- [ دليل دبي الامارات ] مفروشات اصغر ... دبي
- [ تعرٌف على ] عبد الله بن زيد الأنصاري
- [ تعرٌف على ] إبراهيم باشا الفرنجي
- [ تعرٌف على ] وحيدة على الشاطئ ليلا
- [ دليل عجمان الامارات ] مؤسسة المدينة لتجارة معدات وتركيبات المحال التجارية ... عجمان
- [ تعرٌف على ] الخبز الحافي (فيلم)
- [ وسطاء عقاريين السعودية ] خالد عبدالله حمد الحنيكي ... الدمام ... المنطقة الشرقية
- [ محامين السعودية ] يزيد مرضي غرم الله الزهراني ... مكة المكرمة
- [ وسطاء عقاريين السعودية ] عبدالرحمن بن عبدالله بن سعد الزهراني ... جدة ... منطقة مكة المكرمة
- [ وسطاء عقاريين السعودية ] محمد بن شعوان بن عياد الحيسوني ... المدينه المنوره ... منطقة المدينة المنورة
- [ وسطاء عقاريين السعودية ] مؤسسة مسعود احمد العمري للخدمات العقارية ... صامطه ... منطقة جازان
- [ خذها قاعدة ] أراك الجهل أنك في نعيم. - أبو الطيب المتنبي
- [ تعرٌف على ] سد إليسو
- [ تعرٌف على ] العلاقات الأندورية الزيمبابوية
- [ دليل دبي الامارات ] مستوصف جوبيتر النهدة ... دبي
- [ سيارات السعودية ] البخيتان لقطع غيار السيارات
- [ متاجر السعودية ] نجدية للحناء والزيوت العضوية ... الرياض ... منطقة الرياض
- [ وسطاء عقاريين السعودية ] بدور محمد عوضه الشهري ... الرياض ... منطقة الرياض
- [ مبيعات وخدمات تأجير السعودية ] مكتب عبدالله ابو شايع للعقارات
- [ متاجر السعودية ] ون هاندريد ... ابها ... منطقة عسير
- [ اعلان السعودية ] مجموعة سور الاعلامية
- [ متاجر السعودية ] شركة أعمال الضيافة للخدمات التموينية ... الدمام ... المنطقة الشرقية
- [ وسطاء عقاريين السعودية ] سلطان سعيد مرزوق السناني ... جدة ... منطقة مكة المكرمة
- [ حكمــــــة ] من أيقن أن وقتَه رأسُ ماله وظرفُ إنجازه؛ عزَّ عليه للغاية أن يجعله شواءً محترقا في أفران التواصل !
- [ خذها قاعدة ] من ذا الذى يجازف بقتل سؤال الا خائفا من حقيقة. - بثينة العيسى
- [ سيارات السعودية ] مؤسسة احمد بكر سعيد باسبعين التجارية
- [ سوبر ماركت السعودية ] اسواق البريكى
- [ مؤسسات البحرين ] الأنيق للعناية بالسيارات ... المنطقة الشمالية
- [ تعرٌف على ] مبادرة روجرز
- [ تعرٌف على ] قائمة ولاة مصر في عهد الدولة العثمانية
- [ مطاعم السعودية ] لفة جحا
- [ وسطاء عقاريين السعودية ] مؤسسة دار المجددون للعقارات ... صامطه ... منطقة جازان
- [ خذها قاعدة ] كل شعب في العالم ينال الحكومة التي يستحقها. - ونستون تشرشل ( رئيس وزراء بريطانيا )
- [ وسطاء عقاريين السعودية ] دلال عبدالله ناصر الكثيري ... صفوى ... المنطقة الشرقية
- [ وسطاء عقاريين السعودية ] نوره مشعان عبدالهادي الدوسري ... الرياض ... منطقة الرياض
- [ تعرٌف على ] أسرة تيودور
- [ تكييف هواء و تبريد السعودية ] مؤسسة عبدالله سعيد السعيد التجارية
- [ وزارات وهيئات حكومية السعودية ] المهلب بن ابى صفرة الإبتدائية
- [ دليل دبي الامارات ] المنفذون لتنظيف المباني ومكافحة الآفات ... دبي
- [ وسطاء عقاريين السعودية ] عبدالرحمن ظافر صالح الزهراني ... مكه المكرمه ... منطقة مكة المكرمة
- [ تعرٌف على ] توليد الكهرباء
- [ تعرٌف على ] إبراهيم بن فايد
- شركة نقل اثاث بالرياض|ظواهر الخليج
- تفسير حلم رؤية القضيب أو العضو الذكري في المنام لابن سيرين
- سؤال وجواب | هل يجوز للرجل حلق شعر المؤخرة؟ وهل هناك طريقة محددة لذلك ؟
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- تفسير حلم رؤية الميت يشكو من ضرسه في المنام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
- الفضاء اللوني (ص ش ض) و (ص ش ق) الاستخدام
[ تعرٌف على ] سي++11 # أخر تحديث اليوم 2024/05/16
تم النشر اليوم 2024/05/16 | سي++11
تعديلات مكتبة سي++ القياسية
تم إدخال عددا من الميزات الجديدة في المكتبة القياسية لسي++11. العديد منها يمكن تنفيذها تحت المعيار القديم، لكن البعض يعتمد على الميزات الجديدة للنواة في سي++11. جزء كبير من المكتبات الجديدة تم تعريفه في ملف التقرير الفني لمكتبة لجنة معايير السي++ (يسمى التقرير الفني 1 أو اختصارا TR1)، والذي نُشِر في عام 2005. العديد من التنفيذات الكاملة والجزئية للتقرير متاحة حاليا باستخدام النطاق الاسمي std::tr1. وقد تم نقلهم في سي++11 إلى النطاق الاسمي std. ومع ذلك فلاضافة ميزات التقرير الفني 1 إلى المكتبة القياسية لسي++11 فقد تم تحديثها بحيث تلائم ميزات لغة سي++11 والتي لم تكن متاحة عند الإصدارة المبدئية للتقرير الفني. وأيضا يمكن أن تكون محسنة مع الميزات الممكنة تحت سي++03 ولكن لم تكن جزء من المواصفات الأصلية للتقرير الفني. اللجنة تعتزم الآن عمل تقرير فني ثاني (سيسمى التقرير الفني 2 أو اختصارا TR2) حيث اكتملت معايير سي++11. اقتراحات المكتبة التي لم تكن جاهزة في وقتها لسي++11 ستوضع في التقرير الفني 2 أو أي تقارير فنية إضافية.
الإضافات لنواة لغة السي++
أحد وظائف لجنة السي++ هي تطوير نواة اللغة. أجزاء نواة اللغة التي تم تحسينها بشكل كبير تتضمن دعم الخيوط المتعددة ودعم البرمجة العمومية والتهيئة الموحدة والأداء. من أجل أهداف هذا المقال، فقد تم تجميع ميزات وتعديلات نواة اللغة إلى أربعة أقسام عاملة: تحسينات الأداء في وقت التنفيذ، تحسينات الأداء في وقت البناء، التحسينات المتعلقة بسهولة الاستخدام، القدرات الوظيفية الجديدة. بعض الميزات يمكن أن تتبع أكثر من قسم، لكنها ذكرت فقط في القسم الذي يمثل هذه الميزة بشكل رئيسي. تحسينات أداء نواة اللغة لوقت التنفيذ
ميزات اللغة هذه تتواجد بشكل رئيسي لتوفير بعض فوائد الأداء، سواء للذاكرة أو للسرعة الحاسوبية.[بحاجة لمصدر] القيمة اليمنى المرجعية ومشيدات النقل
في سي++03 وما قبلها وكما هو الحال في السي، فإن المؤقتات temporaries (تسمى القيم اليمنى rvalues حيث أنها تكون عادة على الجانب الأيمن من معامل التخصيص) لا تكون قابلة للتعديل أبدا ولا يمكن تمييزها من الانواع&const T، ومع ذلك ففي بعض الحالات يمكن تعديل المؤقتات، وهو سلوك كان يعتبر مخرجا مفيدا. في سي++11 تم إضافة نوع مرجعي جديد غير ثابت يسمى قيمة يمينية مرجعية وتعرف بـ&&T. وهذا يشير إلى المؤقتات التي يسمح بتعديلها بعد تهيئتها، بغرض السماح «بدلالات النقل». المشكلة المزمنة في الأداء في سي++03 هي النسخ العميق deep copy المكلف والغير ضروري والذي يحدث ضمنيا عند تمرير الكائنات بالقيمة. لتوضيح ذلك اعتبر أن<std::vector<Tغلافاً حول مصفوفة داخلية ذات حجما ما. إذا تم إنشاءكائن <std::vector<Tمؤقت وإرجاعه من دالة، فسيمكن تخزينه فقط بإنشاءكائن <std::vector<Tجديد ونسخ بيانات كل القيم اليمنى إليه. ثم يتم تدمير الكائن المؤقت وكل الذاكرة المخصصة له (لتبسيط هذا النقاش تم إهمال عملية تحسين القيمة المرجعة). مشيد النقل move constractor في سي++11 للصنف <std::vector<Tوالذي يأخذ قيمة يمنى مرجعية من <std::vector<Tيمكنه نسخ مؤشر المصفوفة الداخلية من القيمة اليمنى إلى الكائن <std::vector<Tالجديد، ثم تغيير المؤشر داخل القيمة اليمنى إلى القيمة لا شيء (Null). وبما أن الكائن المؤقت لن يُستخدَم مرة أخرى أبدا فليس هناك أي أوامر ستحاول الوصول إلى ذلك المؤشر الداخلي، ولأن المؤشر يشير على لا قيمة فإن الذاكرة لن تُحذَف عند الخروج من مجال الدالة. وبالتالي فإن هذه العملية لا تستغني عن نفقات النسخ العميق فقط لكنها أيضا آمنة ومخفية. يمكن للقيم اليمنى المرجعية أن توفر فوائد الأداء للأوامر البرمجية الموجودة دون الحاجة لعمل أي تعديلات خارج المكتبة القياسية. نوع القيمة المرجعة من الدالة التي تعيد <std::vector<Tمؤقت لا تحتاج التغيير الصريح إلى&& <std::vector<Tلاستدعاء مشيد النقل، حيث تعتبر المؤقتات قيم يمينية تلقائياً (ومع ذلك إذا كان <std::vector<Tفي الإصدار سي++03 بدون مشيد النقل فسيتم استدعاء مشيد النسخ بـ& <const std::vector<T مسبباً استهلاك مساحة كبيرة من الذاكرة). لأسباب متعلقة بالسلامة فقد تم فرض بعض القيود. فالمتغيرات المسماة لا يتم اعتبارها أبداً قيمة يمينية، حتى لو تم تعريفها كذلك. وللحصول على قيمة يمينية فيجب استخدام قالب الدالة()std::move. ولا يمكن تعديل القيم اليمنى المرجعية إلا في ظروف معينة، حيث أنها معدة بشكل رئيسي للاستخدام مع مشيدات النقل. بسبب طبيعة صياغة القيم اليمنى المرجعية وبسبب بعض التعديلات في صياغة القيم اليسرى المرجعية (المراجع العادية) فإن القيم اليمنى المرجعية تسمح للمطورين بتوفير إعادة توجيه أفضل للدوال function forwarding. وعند الجمع مع القوالب متغيرة المعطيات variadic templates فإن هذه القدرة تسمح للدوال ذات القوالب بإعادة توجيه المعطيات لدالة أخرى يمكنها أخذ تلك المعطيات. تعد الاستفادة الأكبر لإعادة توجيه معطيات المشيد هي إنشاء دوال مُصنّعة factory functions والتي ستستدعي تلقائياً المشيد الصحيح لتلك المعطيات. وقد تم رؤية ذلك في مجموعةemplace_backمن دوال مكتبة سي++ القياسية. التعبيرات الثابتة المعممة – constexpr
دائما ما كان لدى السي++ مفهوم التعبيرات الثابتة constant expression. هذه التعبيرات مثل 3+4 تعطي نفس النتيجة دائماً، في وقت الترجمة compile time وفي وقت التنفيذ run time. تعد التعبيرات الثابتة من فرص التحسين للمترجمات، حيث تقوم المترجمات غلباً بتنفيذها في وقت الترجمة وتضع النتيجة بدلاً من التعبير نفسه في البرنامج. أيضا في كثير من الأماكن تتطلب مواصفات سي++ استخدام التعبيرات الثابتة. فتعريف مصفوفة يتطلب تعبير ثابت وقيم القائمة العددية enumerator يجب أن تكون تعبيرات ثابتة.
ومع ذلك فإن التعبيرات الثابتة لم تسمح أبداً باستدعاء دالة أو مشيد لكائن. لذلك فإن مجموعة الأوامر البسيطة التالية غير مقبولة:
int get_five() {return 5;} int some_value[get_five() + 7]; // إنشاء مصفوفة من 12 عنصر، غير مقبول في السي بلس بلس ذلك لم يكن مقبول في سي++03 لأن get_five() + 7 ليست تعبير ثابت. مترجم سي++03 لم يكن قادراً على معرفة ما إذا كان ()get_five ثابت فعلا في وقت التنفيذ. نظرياً هذه الدالة يمكن أن تؤثر على متغير كوني global variable أو استدعاء دوال أخرى غير ثابتة في وقت التنفيذ، إلخ. قدمت سي++11 الكلمة المفتاحية constexpr والتي تسمح للمستخدم في وقت الترجمة أن يضمن أن الدالة أو مشيد الكائن ثابتاً. المثال السابق يمكن إعادة كتابته كالتالي: constexpr int get_five() {return 5;} int some_value[get_five() + 7]; // إنشاء مصفوفة من 12 عنصر، مقبول في السي++11 هذا يسمح للمترجم من الفهم والتأكد من أن ()get_five ثابتة وقت الترجمة. استخدام constexpr مع الدالة يفرض بعض القيود على ما يمكن للدلة أن تفعله. أولا يجب أن يكون نوع البيانات المرجع من الدالة غير فارغ void. ثانيا داخل جسم الدالة لا يمكن الإعلان عن متغيرات أو تعريف أنواع بيانات جديدة. ثالثا جسم الدالة يمكن فقط أن يحتوي على إعلانات أو جمل فارغة null وجملة إرجاع واحدة. يجب أن يتواجد قيم معطيات بحيث أنه بعد ابدال المعطيات فإن التعبير في جملة الإرجاع ينتج تعبير ثابت.
قبل سي++11 كان يمكن استخدام قيم المتغيرات في التعبيرات الثابتة فقط إذا كانت المتغيرات معلن عن أنها ثابتة بـconst وتم تهيئتها بتعبير ثابت ونوعها أرقم صحيحة أو قائمة عددية. في سي++11 تم حذف القيد المتعلق بأن يكون نوع المتغيرات أرقام صحيحة أو قائمة عددية إذا تم تعريفها باستخدام الكلمة المفتاحية constexpr:
constexpr double earth_gravitational_acceleration = 9.8;
constexpr double moon_gravitational_acceleration = earth_gravitational_acceleration / 6.0; هذه المتغيرات ثابتة ضمنياً const ويجب أن تهيأ بتعبير ثابت. لإنشاء قيم بيانات تعبير ثابت من أنواع بيانات معرفة من قبل المستخدم فإن المشيدات يمكن أيضا الإعلان عنها بـconstexpr. جسم دالة مشيد المعلن عنه كتعبير ثابت يمكن أن يحتوى على إعلانات وجمل فارغة فقط، ولا يمكن الإعلان عن متغيرات أو تعرف أنواع بيانات كما هو الحال مع الدوال المعلن عنها بـconstexpr. يجب أن تتواجد قيم معطيات بحيث أنه بعد ابدال المعطيات فإن تهيئة عناصر الصنف سينتج تعبيرات ثابتة. المهدمات لهذه الأنواع يجب أن تكون بسيطة. عادة يجب تعريف مشيد النسخ لصنف لديه مشيدات تعبيرات ثابتة بأن يكون هو أيضا تعبير ثابت، وذلك للسماح للكائنات من هذا صنف أن يتم إرجاعها بالقيمة من دالة تعبير ثابت. يمكن الإعلان عن أي دالة عضو في الصنف مثل مشيدات النسخ والتحميلات الزائدة للمعاملات وغيرهم كتعبير ثابت طالما أنها مستوفية لشروط الدوال ثابتة التعبير. وهذا يسمح للمترجم أن ينسخ الكائنات في وقت الترجمة ويؤدي العمليات عليهم، إلخ. إذا تم استدعاء دالة أو مشيد تعبير ثابت بمعطيات غير ثابتة التعبير، فإن الاستدعاء يتصرف كما لو أن الدالة ليست تعبير ثابت، وقيمة النتيجة لا تكون تعبير ثابت كذلك. بالمثل إذا كان تقييم التعبير في جملة الإرجاع لدالة تعبير ثابت لا ينتج تعبيراً ثابتاً فإن النتيجة لن تكون تعبير ثابت.
تحسين التوافق مع اللغة سي
للتوافق مع اللغة سي (من سي99) تم إضافة التالي: Preprocessor:
Headers:
أهداف التصميم
حاولت لجنة التصميم الالتزام بعدد من الأهداف عند تصميم سي++11: الحفاظ على الاستقرار والتوافق مع سي++98 وقدر الإمكان مع سي
تفضيل إدخال الميزات الجديدة عن طريق المكتبة القياسية بدلا من تطوير نواة اللغة
تفضيل التغيرات التي يمكنها تطوير طريقة البرمجة
تحسين سي++ لتسهيل تصميم المكتبات والأنظمة بدلا من إدخال ميزات جديدة مفيدة فقط لنوع معين من التطبيقات
زيادة سلامة النوع بتوفير بدائل آمنة عن الطرق الغير آمنة السابقة
زيادة الأداء والقدرة على العمل مباشرة مع العتاد الصلب
توفير حلول مناسبة لمشاكل الواقع
تنفيذ مبدأ بدون-نفقات (الدعم الإضافة اللازم لبعض الخدمات يجب استخدامه فقط إذا استخدمت تلك الخدمات)
جعل السي++ سهلة التعليم والتعلم بدون حذف أي خدمات يحتاجها المبرمجين ذوي الخبرة
اعتُبِر الاهتمام بالمبتدئين أمرا هاما، لأن معظم مبرمجين الحاسوب مبتدئين، ولأن الكثير منهم لا يوسعون معرفتهم أبدا مقيدين أنفسهم بالعمل باللغة المتخصصين بها فقط.
شرح مبسط
تعديل – تعديل مصدري – تعديل ويكي بيانات