Rumah >pembangunan bahagian belakang >C++ >Mengapakah `std::is_class` Kembali Benar untuk Structs dalam C ?

Mengapakah `std::is_class` Kembali Benar untuk Structs dalam C ?

Barbara Streisand
Barbara Streisandasal
2024-10-27 02:50:30903semak imbas

Why Does `std::is_class` Return True for Structs in C  ?

Pembezaan Antara Struktur dan Kelas dalam C

Dalam C , ramai yang perasan bahawa ciri jenis std::is_class kembali benar untuk kedua-duanya kelas dan struct. Ini menimbulkan persoalan mengapa tidak ada perbezaan yang jelas antara keduanya dalam sifat ini. Secara umumnya diandaikan bahawa dalam kelas dan struct C adalah hampir sama, tetapi adakah itu benar-benar berlaku?

Bertentangan dengan kepercayaan popular, C tidak menyokong struct sejak 1985. Setiap jenis diisytiharkan menggunakan sama ada kelas atau kata kunci struct pada asasnya adalah kelas. Kata kunci struct, bersama-sama dengan peraturan keterlihatan unik yang digunakan pada pengisytiharan kelas tersebut, telah dipelihara semata-mata untuk keserasian ke belakang dengan C.

Oleh itu, sebab C tidak membezakan antara kelas dan struct dalam std::is_class adalah kerana tidak ada perbezaan yang wujud antara mereka. Dari perspektif bahasa, semua jenis yang ditakrifkan menggunakan kedua-dua kata kunci diiktiraf secara seragam sebagai kelas.

Atas ialah kandungan terperinci Mengapakah `std::is_class` Kembali Benar untuk Structs dalam C ?. 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