Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Adakah Idiom Safe-Bool Masih Diperlukan dalam C 11?

Adakah Idiom Safe-Bool Masih Diperlukan dalam C 11?

Linda Hamilton
Linda Hamiltonasal
2024-11-23 00:26:11596semak imbas

Is the Safe-Bool Idiom Still Necessary in C  11?

Idiom Safe-Bool Usang dalam C 11

Dalam C 11, keperluan simpulan bahasa safe-bool telah menjadi usang dengan pengenalan bool operator eksplisit () const. Mengikut piawaian C Bahagian 4 [conv] p3:

Ungkapan e boleh ditukar secara tersirat kepada jenis T jika dan hanya jika pengisytiharan T t=e; dibentuk dengan baik [...]

Ini bermakna ungkapan boleh ditukar secara kontekstual kepada bool jika pengisytiharan bool t(e); dibentuk dengan baik.

Konstruk bahasa tertentu memerlukan penukaran tersirat sedemikian, termasuk:

  • jika, sementara, untuk
  • pengendali logik binari & dan ||
  • operator penolakan logik !
  • operator bersyarat ?:
  • static_assert
  • noexcept

Oleh itu, dengan adanya operator penukaran yang jelas, ia menjadi tidak perlu untuk menggunakan pelaksanaan safe-bool yang berbelit-belit. Ini memudahkan dan menjelaskan kod dengan ketara, kerana penukaran eksplisit memberikan penukaran jenis yang jelas dan disengajakan berbanding dengan mekanisme tersirat simpulan bahasa safe-bool.

Atas ialah kandungan terperinci Adakah Idiom Safe-Bool Masih Diperlukan dalam C 11?. 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