Rumah > pembangunan bahagian belakang > C++ > Adakah `(bool)true` Sentiasa Bersamaan dengan `(int)1` dalam C ?

Adakah `(bool)true` Sentiasa Bersamaan dengan `(int)1` dalam C ?

Barbara Streisand
Lepaskan: 2024-11-28 09:49:11
asal
977 orang telah melayarinya

Is `(bool)true` Always Equivalent to `(int)1` in C  ?

Jenis Casting dalam Ungkapan C: (bool)true dan (int)1

Dalam C , adalah amalan biasa untuk menggunakan taip untuk menukar data daripada satu jenis kepada yang lain. Soalan ini meneroka sama ada kita boleh mengandaikan kesetaraan (bool)true dan (int)1 dengan selamat dalam pengkompil C.

Persamaan

Penukaran daripada bool kepada int ditakrifkan oleh piawai C dalam bahagian 4.7 [conv.integral] / 4. Ia menyatakan bahawa jika jenis sumber ialah bool, nilai benar ditukar kepada satu. Ini bermakna dalam ungkapan (bool)true == (int)1, nilai bool akan dinaikkan pangkat kepada int dan akan mempunyai nilai 1.

Pemutus Berlebihan

Pasukan dalam ungkapan (bool)true == (int)1 secara teknikalnya berlebihan. Nilai bool akan dinaikkan secara automatik kepada int oleh pengkompil dan perbandingan akan berfungsi seperti yang diharapkan tanpa hantaran eksplisit.

Keserasian Pengkompil

Persamaan antara ( bool)true dan (int)1 dijamin oleh standard C. Oleh itu, andaian selamat untuk dibuat bagi mana-mana pengkompil C yang mematuhi piawaian.

Kesimpulan

Dalam C , kita boleh menganggap (bool)benar dengan selamat == (int)1 untuk semua penyusun C yang mengikut piawaian C. Siaran taip adalah berlebihan dan boleh ditinggalkan tanpa menjejaskan keputusan perbandingan.

Atas ialah kandungan terperinci Adakah `(bool)true` Sentiasa Bersamaan dengan `(int)1` dalam C ?. 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