C++ 20 – הבדלי גרסאות
תוכן שנמחק תוכן שנוסף
תגיות: הוספת תבנית לשינויים בערך עריכת קוד מקור 2017 |
מ הוספת קטגוריה:תקני ISO באמצעות HotCat |
||
שורה 26: | שורה 26: | ||
{{הערות שוליים}} |
{{הערות שוליים}} |
||
[[קטגוריה:C++]] |
[[קטגוריה:C++]] |
||
[[קטגוריה:תקני ISO]] |
גרסה מ־15:34, 7 במרץ 2021
C++ 20 הוא שמו של תקן ISO/IEC עבור שפת התכנות ++C (תקן עוקב ל C++ 17).[1] התקן נחתם טכנית [2] ידי WG21 בפגישה בפראג בפברואר 2020, [3] אושר ב-4 בספטמבר 2020,[4][5] ופורסם על ידי ISO בדצמבר 2020. [6]
היסטוריה
שגיאות פרמטריות בתבנית:להשלים
פרמטרי חובה [ נושא ] חסרים
פרק זה לוקה בחסר. אנא תרמו לוויקיפדיה והשלימו אותו.
השינויים שהוחלו על טיוטת העבודה של C++ 20 שגובשה ביולי 2017 בטורונטו כוללים:[7]
- concepts (מה שהפך אותו לתקן הוא גרסה מקוצרת; מתוארת גם כ"Concepts Lite"[8])
- designated initializers
[=, this]
כ- lambda capture- רשימות פרמטרים של על lambda
std::make_shared
ו-std::allocate_shared
למערכים
השינויים שהוחלו על טיוטת העבודה C++ 20 בישיבת הסתיו בנובמבר 2017 באלבוקרקי כוללים:[9][10]
- השוואות three-way עם ה-"spaceship operator":
operator < = >
- אתחול של משתנה נוסף בטווח של הצהרת
for
- למבדות בהקשרים לא משוערכים
- למבדות דיפולטיות חסרות מצב (stateless)
- אפשר הרחבות בלמבדה init-capture
- מצביעים חכמים אטומיים, כגון
std::atomic<shared_ptr<T>>
ו-std::atomic<weak_ptr<T>>
std::to_address
להמיר pointer ל raw pointer
הערות שוליים
- ^ "The Standard". isocpp.org. נבדק ב-7 בספטמבר 2020.
{{cite web}}
: (עזרה) - ^ Sutter, Herb (2019-10-01). "P1000R3: C++ IS schedule" (PDF). נבדק ב-2020-02-13.
- ^ Dusíková, Hana (2019-11-06). "N4817: 2020 Prague Meeting Invitation and Information" (PDF). נבדק ב-2020-02-13.
- ^ "Current Status". isocpp.org. נבדק ב-7 בספטמבר 2020.
{{cite web}}
: (עזרה) - ^ "C++20 Approved -- Herb Sutter". isocpp.org. נבדק ב-8 בספטמבר 2020.
{{cite web}}
: (עזרה) - ^ "ISO/IEC 14882:2020".
- ^ Herb Sutter. "Trip report: Summer ISO C++ standards meeting (Toronto)".
- ^ Andrew Sutton; Bjarne Stroustrup (2013-02-24). "Concepts Lite: Constraining Templates with Predicates". isocpp.org. isocpp.org. נבדק ב-2021-01-13.
- ^ Herb Sutter. "Trip report: Fall ISO C++ standards meeting (Albuquerque)".
- ^ Smith, Richard; Perchik, Dawn; Köppe, Thomas. "N4714 Editors' Report -- Programming Languages -- C++". C++ standards drafts. GitHub. נבדק ב-27 בדצמבר 2018.
{{cite web}}
: (עזרה)