Menentukan Jenis Objek dalam C tanpa "instanceof"
Untuk menentukan jenis tepat objek dalam C , kami menggunakan teknik yang serupa dengan Java " instanceof" kata kunci. Ini melibatkan gabungan pemutus dinamik dan RTTI (Maklumat Jenis Masa Jalanan).
Pemutus Dinamik dengan RTTI Didayakan:
if(NewType* v = dynamic_cast<NewType*>(old)) { // old successfully casted to NewType // Perform NewType-specific operations (e.g., v->doSomething(); ) }
Nota: Kaedah ini memerlukan sokongan pengkompil untuk RTTI.
Pertimbangan untuk Casting Dinamik:
Pendekatan Penghitungan Jenis:
switch(old->getType()) { case BOX: Box* box = static_cast<Box*>(old); // Perform Box-specific operations break; // Additional cases for other types }
Kelebihan:
Kelemahan:
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menentukan Jenis Objek dalam C Tanpa Menggunakan `instanceof`?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!