Rumah >pembangunan bahagian belakang >C++ >Adakah Perintah Penilaian Operand Dijamin dalam C dan C?
Tertib Penilaian Operan dalam Ungkapan
Apabila menulis ungkapan, adalah penting untuk memahami susunan operan akan dinilai. Ini boleh memberi kesan kepada hasil ungkapan, terutamanya apabila kesan sampingan terlibat.
C dan C
Dalam kedua-dua C dan C , susunan penilaian untuk operan ialah tidak dinyatakan. Ini bermakna pengkompil bebas menilai operan dalam sebarang susunan yang dipilihnya.
Sebagai contoh, pertimbangkan ungkapan a b. Ia tidak dijamin bahawa a akan dinilai sebelum b. Pengkompil boleh memilih untuk menilai b dahulu, dan kemudian menyimpan hasilnya dalam pembolehubah sementara sebelum menilai a.
Piawaian untuk C secara khusus menyatakan bahawa "tertib penilaian argumen fungsi tidak ditentukan," dan untuk normal operator, "urutan penilaian operan bagi pengendali individu dan subungkapan bagi ungkapan individu [...] tidak ditentukan."
C 11 and Beyond
Perkataan untuk susunan penilaian operan telah berubah sedikit dalam versi C 11 dan yang lebih baru. Kenyataan kedua kini mengatakan bahawa perintah itu "tidak berurutan" dan bukannya tidak ditentukan. Walau bagaimanapun, ini pada dasarnya adalah konsep yang sama. Pengkompil masih tidak diperlukan untuk menilai operan dalam sebarang susunan tertentu.
Kesimpulan
Adalah penting untuk mengetahui bahawa susunan penilaian operan tidak dinyatakan dalam C dan C . Ini boleh memberi kesan kepada hasil ekspresi, terutamanya apabila kesan sampingan terlibat. Apabila menulis ungkapan, sebaiknya elakkan bergantung pada susunan penilaian tertentu.
Atas ialah kandungan terperinci Adakah Perintah Penilaian Operand Dijamin dalam C dan C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!