Έχοντας επιτύχει την τελική τεχνική έγκριση από το ISO στις 4 Σεπτεμβρίου, το C ++ 20 αναμένεται να δημοσιευτεί επισήμως προς το τέλος του τρέχοντος έτους, εισάγοντας νέες δυνατότητες όπως τα modules και οι coroutines.
Σχεδιασμένο το 1979 για προγραμματισμό συστημάτων, το C ++ παραμένει ζωτική γλώσσα. Το C ++ βρέθηκε ακόμη και να είναι η ταχύτερα αναπτυσσόμενη γλώσσα στον δείκτη Tiobe του Σεπτεμβρίου 2020, όπου κατατάσσεται στην τέταρτη θέση πίσω από τις C, Java και Python. Ο Tiobe αναφέρει την προδιαγραφή C ++ 20 ως έναν από τους παράγοντες που ενισχύουν τη γλώσσα.
Οι νέες δυνατότητες στο C ++ 20 περιλαμβάνουν:
- Ενότητες, που επιτρέπουν στους προγραμματιστές να χρησιμοποιούν αρθρωτά στοιχεία.
- Έννοιες, που χρησιμοποιούνται για τον καθορισμό απαιτήσεων προτύπων και την υποστήριξη γενικού προγραμματισμού. Οι έννοιες υπόσχονται να βελτιώσουν την ποιότητα του κώδικα.
- Μια βιβλιοθήκη συγχρονισμού, για καλύτερη υποστήριξη του λεπτομερούς ελέγχου υλικού.
- Βελτιώσεις υπολογισμού χρόνου μεταγλώττισης.
- Κορουτίνες, οι οποίες γενικεύουν τις υπορουτίνες για χρήση σε μη προληπτικές πολλαπλές εργασίες. Ωστόσο, δεν υπάρχει ακόμη τυποποιημένη υποστήριξη για κορουτίνες στην τυπική βιβλιοθήκη. Αυτή η υποστήριξη είναι κατάλληλη για C ++ 23.
- Σειρές, οι οποίες παρέχουν στοιχεία για την αντιμετώπιση εύρους στοιχείων.
- Δυνατότητα δοκιμής μακροεντολών, ένα σύνολο μακροεντολών που αντιστοιχούν σε λειτουργίες γλώσσας και βιβλιοθήκης από το C ++ 11 ή μεταγενέστερη έκδοση.
- Προκαθορισμένες τιμές κατακερματισμού στην αναζήτηση.
- Δηλώσεις επέκτασης για να καταστεί δυνατή η επανάληψη χρόνου αναφοράς για κάθε στοιχείο μιας πλειάδας, πίνακα, κλάσης, πακέτου παραμέτρων ή εύρους.
- Μοναδικές λειτουργίες για
std :: προαιρετικός κωδικός
. - Σιωπηρή δημιουργία αντικειμένων για χειρισμό χαμηλού επιπέδου.
- Βελτιωμένη αναγνώριση ευαίσθητου στο περιβάλλον
εισαγωγή
καιμονάδα μέτρησης
για να βοηθήσετε εργαλεία μη μεταγλωττιστών για τον προσδιορισμό εξαρτήσεων κατασκευής - Νέοι διαφοροποιημένοι αλγόριθμοι.
Καταργήθηκε η δυνατότητα συμβολαίων που αναμενόταν στο C ++ 20, για τον καθορισμό των προϋποθέσεων, των μετα-όρων και των ισχυρισμών. Τα συμβόλαια έχουν πλέον επισημανθεί ως στοιχείο C ++ 23, αν και ενδέχεται να μην καταλήξουν σε αυτήν την έκδοση.