Rumah > pembangunan bahagian belakang > C++ > Apakah Perbezaan Antara \'Tingkah Laku Tidak Ditakrifkan\' C dan \'Tidak Terbentuk; Tiada Diagnostik Diperlukan\'?

Apakah Perbezaan Antara \'Tingkah Laku Tidak Ditakrifkan\' C dan \'Tidak Terbentuk; Tiada Diagnostik Diperlukan\'?

Barbara Streisand
Lepaskan: 2024-11-21 12:40:16
asal
659 orang telah melayarinya

What's the Difference Between C  's

Perbezaan Antara Tingkah Laku Yang Tidak Ditakrifkan dan Yang Tidak Ditakrifkan: Tiada Diagnostik Diperlukan

Spesifikasi C mentakrifkan pelbagai jenis tingkah laku program, termasuk tidak ditentukan, tidak ditentukan, ditentukan pelaksanaan, tersilap , dan tidak berbentuk. Walaupun beberapa perbezaan agak jelas, istilah "tidak berbentuk; tiada diagnostik diperlukan" telah menimbulkan persoalan tentang maksud tepatnya.

Definisi

Tidak terbentuk: A program yang melanggar sama ada sintaks atau peraturan semantik yang boleh didiagnosis.

Tidak ditentukan gelagat: Gelagat program yang mana piawaian tidak membuat andaian atau keperluan tentang tindakan pelaksanaan.

Salah: Istilah yang digunakan oleh piawai untuk menunjukkan bahawa atur cara tidak berbentuk atau terlibat dalam tingkah laku yang tidak ditentukan.

Dibentuk dengan baik: Program yang mematuhi kepada sintaks dan peraturan semantik yang boleh didiagnosis.

Kes "tidak betul; tiada diagnostik diperlukan"

Perkataan khusus ini muncul apabila pelaksanaan memanjangkan bahasa dengan cara yang memperkenalkan sintaks atau tingkah laku. Mengikut piawaian, sambungan sedemikian dianggap tidak betul, tetapi pelaksanaannya dibenarkan untuk tidak mengeluarkan mesej diagnostik.

Membezakan daripada Gelagat Tidak Ditakrifkan

Perbezaan penting di sini ialah tingkah laku yang tidak ditentukan secara eksplisit mengakui sifat program yang salah, manakala "tidak berbentuk; tiada diagnostik diperlukan" merujuk kepada kes tertentu di mana pelaksanaan membenarkan pelanggaran tanpa memberikan mesej ralat yang jelas.

Kesan ke atas Penyusunan dan Pelaksanaan

Sebuah program yang tidak betul tidak seharusnya disusun secara teknikal. Walau bagaimanapun, dalam kes "tidak betul; tiada diagnostik diperlukan," pelaksanaan secara teknikal dibenarkan untuk menyusun secara senyap dan juga melaksanakan program tanpa amaran.

Isu Ketekalan

Penggunaan standard yang tidak konsisten terminologi yang mengelilingi kesilapan telah membawa kepada kekeliruan. Istilah "erroneous" membayangkan ralat yang memerlukan diagnostik, tetapi bahagian "Nota" dalam 1.3.13 membenarkan pelaksanaan mengabaikan masalah sedemikian secara senyap.

Kesimpulan

Walaupun mungkin terdapat perbezaan yang ketara antara "tidak betul; tiada diagnostik diperlukan" dan "tingkah laku yang tidak ditentukan", ketidakkonsistenan piawaian menjadikannya sukar untuk menjelaskan perbezaan. Akhirnya, kedua-dua istilah merujuk kepada situasi di mana tingkah laku program tidak dapat diramalkan dan boleh mengakibatkan hasil yang tidak dijangka.

Atas ialah kandungan terperinci Apakah Perbezaan Antara 'Tingkah Laku Tidak Ditakrifkan' C dan 'Tidak Terbentuk; Tiada Diagnostik Diperlukan'?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan