C++ ٻوليءَ جي معيار تي ISO ڪميٽي منظور ٿيل بين الاقوامي معيار"سي ++ 20". خاصيتن ۾ پيش ڪيل صلاحيتون، ڌار ڌار ڪيسن جي استثنا سان، حمايت ڪئي compilers ۾ جي سي سي, ڪلانگ и Microsoft بصري سي ++. C++ 20 جي سپورٽ ڪندڙ معياري لائبريريون منصوبي ۾ لاڳو ڪيون ويون آهن فروغ.
ايندڙ ٻن مهينن ۾، منظور ٿيل تفصيلات اشاعت لاءِ دستاويز تيار ڪرڻ جي مرحلي ۾ هوندي، جنهن ۾ اسپيل جي غلطين ۽ ٽائپس جي ايڊيٽوريل اصلاح تي ڪم ڪيو ويندو. نومبر جي شروعات ۾، نتيجو وارو دستاويز ISO/IEC 14882:2020 جي رسمي نالي هيٺ اشاعت لاءِ ISO ڏانهن موڪليو ويندو. ساڳئي وقت ۾، ڪميٽي اڳ ۾ ئي ايندڙ C++ 23 معيار (C++2b) تي ڪم شروع ڪري ڇڏيو آهي ۽ پنهنجي ايندڙ ورچوئل ميٽنگ ۾ ممڪن اختيارن تي غور ڪندي. جدت.
شامل ڪيو ويو "تصورات"، ٽيمپليٽ ايڪسٽينشن، جيڪي توهان کي ٽيمپليٽ پيراميٽر جي ضرورتن جو هڪ سيٽ بيان ڪرڻ جي اجازت ڏين ٿيون جيڪي، مرتب ڪرڻ وقت، دليلن جي سيٽ کي محدود ڪن ٿيون جيڪي ٽيمپليٽ پيٽرولر طور قبول ڪري سگهجن ٿيون. تصورات کي استعمال ڪري سگھجي ٿو منطقي تضاد کان بچڻ لاءِ ڊيٽا جي قسمن جي ملڪيتن جي وچ ۾ استعمال ٿيل ٽيمپليٽ ۽ ڊيٽا جي قسم جي ملڪيتن جي ان پٽ پيٽرولن جي.
ٽيمپليٽ
تصور EqualityComparable = گھربل (T a، T b) {
{ a == b } -> std:: boolean؛
{a != b } -> std::boolean;
};
قبول ڪيو وڌايو ماڊلز سان ڪم ڪرڻ لاءِ جيڪي هيڊر فائلن جي بدران استعمال ڪري سگھجن ٿيون. ماڊيول هڪ نئون طريقو مهيا ڪن ٿا ماخذ ڪوڊ کي ترتيب ڏيڻ جي بنياد تي حصن جي حدن کي بيان ڪرڻ جي، بغير هيڊر فائلن کي "#شامل" ذريعي.
ميڪرو __VA_OPT__ متغير ميڪروز جي موافقت وڌائڻ لاءِ متغير دليل ۾ ٽوڪن جي موجودگي تي منحصر آهي.
ٽن طرفن جي مقابلي لاءِ "" آپريٽر لاءِ سپورٽ.
بٽ فيلڊس لاءِ ڊفالٽ عنصر شروعاتي لاءِ سپورٽ.
ليمبڊا کي پڪڙڻ جي صلاحيت "*هي" اظهار.
struct int_value {
int n = 0 ;
خودڪار getter_fn() {
//خراب:
// موٽڻ [=]() { واپسي ن؛ }؛
// سٺو:
واپسي [=, *هي]() { واپسي ن؛ }؛
}
};
پوائنٽر ذريعي عناصر کي سڏيندي (پوائنٽر کان ميمبر)، اشارو استعمال ڪندي عارضي شين ڏانهن اشارو ڪندي بيان ڪيل "const &" اظهار ذريعي.