C 17 Ciri dalam C 1z Compiler
C 17 kini ciri lengkap dan pengkompil yang menyokong "C 1z" akan melaksanakan kebanyakan ciri ditambah dalam C 17. Beberapa ciri utama yang akan tersedia dalam penyusun C 1z termasuk:
Ciri Bahasa:
- Potongan hujah templat untuk templat kelas
- template
- Bukan -jenis hujah templat membetulkan
- templatnama taip bob> struct foo {}
- ( Melipat ... ungkapan ) dengan semakan
- auto x{8}; ialah int
- Memodenkan menggunakan dengan ... dan menyenaraikan
Lambda:
- Constexpr lambdas
- Merakam *ini dalam lambdas
Atribut:
- [[fallthrough]], [[nodiscard]], [[mungkin_tidak digunakan]] atribut
- [[atribut]] pada ruang nama dan enumerator
Pembersihan Sintaks:
- Pembolehubah sebaris
- Kawalan berbilang pulangan dan aliran yang lebih bersih dengan pengikatan berstruktur dan jika (init ; syarat) sintaks
Data Jenis:
- std::variant
- std::optional
- std::mana-mana
- std::string_view
Invoke Perkara:
- std::invoke
- std::apply
- std::make_from_tuple
- is_invocable, is_invocable_r, and invoke_result
Sistem Fail TS v1:
- Kelas dan fungsi berkaitan I/O Fail
Algoritma:
- Algoritma baharu seperti for_each_n, reduce, dan transform_reduce
Threading:
Asas Perpustakaan TS v1:
- Algoritma dan teknik carian
- Pengalokasi polimorfik (std::pmr)
- Penambahbaikan bekas termasuk penyambungan dan bukan anggota std::saiz
Bijak Petunjuk:
Perubahan Lain:
- Pustaka C 17 adalah berdasarkan C11 dan bukannya C99
- Matematik khas fungsi
- std::clamp
- std::void_t
Nota: Sila rujuk dokumentasi pengkompil untuk senarai yang tepat daripada ciri C 17 yang disokong oleh pengkompil khusus anda.
Atas ialah kandungan terperinci Apakah Ciri C 17 yang Dilaksanakan dalam Penyusun C 1z?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!