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 importdan moduleuntuk 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.