Rumah >pembangunan bahagian belakang >C++ >Adakah `if (cin >> x)` merupakan Ungkapan Bersyarat yang Sah dalam C ?
> x)` Ungkapan Bersyarat Sah dalam C ? " />
Pertimbangkan coretan kod C berikut:
int x; if (cin >> x) {}
Sesetengah pengaturcara mungkin merasa mengelirukan bahawa keadaan di atas adalah bersamaan dengan:
cin >> x; if (cin) {}
Memahami mengapa ini berlaku memerlukan melihat lebih dekat sifat cin.
Walaupun notasi biasa yang menyerupai panggilan fungsi, cin sebenarnya adalah objek kelas istream mewakili aliran input standard dan sepadan dengan aliran stdin dalam C.
Operator >> terlebih beban untuk strim, ia mengembalikan rujukan kepada strim yang sama.
Strim boleh mengambil bahagian dalam keadaan boolean melalui operator penukaran yang menilai mereka kepada benar atau salah Ini amat berguna untuk mengesan input ralat.
Dalam jika (cin >> x), pengendali >> digunakan untuk mengekstrak nilai daripada aliran input cin dan simpannya dalam x. Jika pengekstrakan berjaya, keadaan dinilai kepada benar. Sebaliknya, jika nilai bukan angka dimasukkan, pengekstrakan gagal dan keadaan dinilai sebagai palsu.
Oleh itu, jika (cin >> x) ialah memeriksa dengan berkesan sama ada cin berada dalam keadaan yang membenarkan pengekstrakan yang sah. Keadaan ini membolehkan pengaturcara mengendalikan pengesahan input dengan mudah dan bertindak balas dengan sewajarnya.
Atas ialah kandungan terperinci Adakah `if (cin >> x)` merupakan Ungkapan Bersyarat yang Sah dalam C ?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!