C ++ 20 mendapat kelulusan teknikal akhir
Setelah mendapat kelulusan teknikal akhir dari ISO pada 4 September, C ++ 20 dijangka akan diterbitkan secara rasmi menjelang akhir tahun ini, memperkenalkan ciri-ciri baru seperti modul dan coroutine.
Direka pada tahun 1979 untuk pengaturcaraan sistem, C ++ tetap menjadi bahasa penting. C ++ bahkan didapati sebagai bahasa yang berkembang pesat dalam Indeks Tiobe pada September 2020, di mana ia berada di tempat keempat di belakang C, Java, dan Python. Tiobe menyebut spesifikasi C ++ 20 sebagai salah satu faktor yang mendorong bahasa itu.
Keupayaan baru dalam C ++ 20 merangkumi:
- Modul, membolehkan pengaturcara menggunakan komponen modular.
- Konsep, digunakan untuk menentukan keperluan templat dan menyokong pengaturcaraan generik. Konsep berjanji untuk meningkatkan kualiti kod.
- Perpustakaan penyegerakan, untuk sokongan kawalan perkakasan yang lebih baik.
- Peningkatan pengiraan masa kompilasi.
- Coroutine, yang menggeneralisasikan subrutin untuk digunakan dalam multi-tasking bukan pilihan. Walau bagaimanapun, sokongan standard untuk coroutine di perpustakaan standard masih kurang. Sokongan ini diperhatikan untuk C ++ 23.
- Range, yang menyediakan komponen untuk menangani pelbagai elemen.
- Ciri makro ujian, sekumpulan makro yang sesuai dengan ciri bahasa dan perpustakaan dari C ++ 11 atau lebih baru.
- Nilai hash yang dihitung dalam carian.
- Pernyataan pengembangan untuk membolehkan pengulangan penyusunan-penyataan bagi setiap elemen tuple, array, class, pack pack, atau range.
- Operasi monadik untuk
std::optionalcode
. - Penciptaan objek secara tersirat untuk manipulasi tahap rendah.
- Peningkatan pengiktirafan sensitif konteks
import
danmodule
untuk membantu alat bukan penyusun untuk menentukan kebergantungan membina. - Algoritma diperkenal baru.
Kemampuan kontrak yang diharapkan pada C ++ 20, untuk menentukan pra-syarat, pasca-syarat, dan pernyataan, telah dihapus. Kontrak kini ditandai sebagai item C ++ 23, walaupun ia mungkin tidak masuk ke dalam pelepasan itu.