Détermination du type d'objet en C sans "instanceof"
Pour déterminer le type exact d'un objet en C, nous employons une technique similaire à celle de Java " instanceof" mot-clé. Cela implique une combinaison de diffusion dynamique et de RTTI (Run-Time Type Information).
Diffusion dynamique avec RTTI activé :
if(NewType* v = dynamic_cast<NewType*>(old)) { // old successfully casted to NewType // Perform NewType-specific operations (e.g., v->doSomething(); ) }
Remarque : Cette méthode nécessite la prise en charge du compilateur pour RTTI.
Considérations pour Dynamic Casting :
Approche d'énumération de types :
switch(old->getType()) { case BOX: Box* box = static_cast<Box*>(old); // Perform Box-specific operations break; // Additional cases for other types }
Avantages :
Inconvénients :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!