Perubahan Pecah Diperkenalkan dalam C 11
C 11 memperkenalkan beberapa perubahan pecah yang boleh menyebabkan kod yang sah sebelum ini gagal semasa penyusunan. Satu perubahan ketara ialah pengenalan operator eksplisit bool() dalam perpustakaan standard, menggantikan contoh operator void*(). Walaupun perubahan ini terutamanya mempengaruhi kod tidak sah yang bergantung pada penukaran tersirat, perubahan ini masih merupakan perubahan terputus.
Perubahan Bahasa Teras
- Kata kunci alignas, alignof, char16_t , char32_t, constexpr, decltype, noexcept, nullptr, static_assert dan thread_local diperkenalkan.
- Harta integer yang lebih besar daripada panjang kini boleh dianggap sebagai panjang yang ditandatangani dan bukannya integer yang tidak ditandatangani.
- Bahagian kini sentiasa membulat ke arah 0, tidak seperti C 2003, yang boleh membundar ke arah infiniti negatif dalam beberapa kes.
- Kata kunci automatik tidak boleh lagi digunakan sebagai penentu kelas storan, kerana ia dikhaskan untuk ciri baharu.
- Penukaran yang menyempitkan menyebabkan ketidakserasian. Sebagai contoh, memberikan gandaan kepada int kini tidak sah.
- Fungsi ahli khas tersirat ditakrifkan sebagai dipadamkan apabila takrifan eksplisitnya tidak terbentuk, mengakibatkan ralat dalam kod yang sah sebelum ini.
- Pemusnah yang diisytiharkan pengguna mempunyai spesifikasi pengecualian tersirat (noexcept(true)), yang boleh mencetuskan gelagat berbeza dalam tangkapan blok.
- Kata kunci eksport tidak lagi sah dalam C 11.
- Pengendali >> kini boleh digunakan untuk menutup dua templat, yang berpotensi menjejaskan kod yang menggunakan jujukan >> sebagai pengendali syif.
- Panggilan bergantung fungsi dengan pautan dalaman kini dibenarkan.
Perubahan Perpustakaan
- Perpustakaan standard pengecam yang diperkenalkan dalam C 11 mungkin bercanggah dengan yang ditentukan pengguna pengecam.
- Pengepala termasuk yang merujuk kepada pengepala baharu dalam pustaka standard C 11 mungkin gagal untuk disusun.
- Fungsi swap telah dialihkan daripada kepada .
- Ruang nama global posix kini dikhaskan.
- Timpa makro, muktamad, kebergantungan_bawa dan noreturn tidak lagi sah.
Atas ialah kandungan terperinci Apakah Perubahan Memecahkan Yang C 11 Perkenalkan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!
Kenyataan:Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn