Ciri Baharu dalam C 17
Setelah selesai pembangunan ciri untuk C 17, beberapa ciri bahasa baharu dan penambahan perpustakaan telah diperkenalkan:
Bahasa Ciri:
Tambahan Perpustakaan:
Jenis Data:
- std ::varian untuk mewakili nilai pelbagai jenis
- std::pilihan untuk mewakili nilai pilihan
- std::mana-mana untuk mewakili nilai apa-apa jenis, termasuk jenis tidak boleh disalin
- std::string_view untuk pengendalian rujukan rentetan yang cekap
- std: :byte untuk mewakili data tanpa maklumat jenis
Boleh dipanggil Pengendalian:
- std::invoke for generik callable invocation
- std::apply for tuple-based callable invocation
- std::make_from_tuple untuk membina objek daripada tupel
- Pengenalan is_invocable dan ciri-ciri berkaitan
Perpustakaan Sistem Fail:
- Pelaksanaan Spesifikasi Teknikal Sistem Fail (TS)
Baharu Algoritma:
- for_each_n, reduce, transform_reduce, dan banyak lagi
Threading Enhancement:
- Pengenalan of std::shared_mutex untuk berbilang benang yang lebih cekap akses
- Jaminan atom dan pengesanan saiz gangguan perkakasan
Tambahan TS Asas Perpustakaan:
- Algoritma carian (alg.search)
- Pengalokasi polimorfik (pmr)
Penambahbaikan Bekas:
- try_emplace dan insert_or_assign untuk bekas yang cekap sisipan
- Penyambungan untuk peta, set dan bekas tidak tersusun
- Akses data() bukan const untuk rentetan
Penunjuk Pintar:
- Membetulkan dan mengubah suai unique_ptr
- Pengenalan weak_from_this untuk mengurus petunjuk kongsi
Pelbagai:
- Penggunaan C11 sebaliknya daripada C99 untuk perpustakaan standard
- Terpelihara std[0-9] ruang nama untuk perpustakaan standard masa hadapan
- Pelbagai fungsi utiliti (musnahkan, tidak dimulakan_***)
- Pendedahan fungsi matematik khas
- Pengenalan std:: pengapit, std::gcd, dan std::lcm
- Peningkatan pengendalian pengecualian, termasuk std::uncaught_exceptions
- std::as_const, std::bool_constant dan pelbagai utiliti templat
- std::chrono yang dipertingkatkan perpustakaan
- Pengenalan pengendali Boolean (std::conjunction, std::disjunction, std::negation)
- Peraturan untuk penggunaan noexcept dalam std
Ciri Ditamatkan:
- Mengalih keluar beberapa perpustakaan C, , result_of, dan lain-lain
Atas ialah kandungan terperinci Apakah Ciri Bahasa dan Pustaka Utama yang Diperkenalkan dalam C 17?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!