の同等物 C では、オブジェクトの型を決定するための Java の instanceof 演算子に相当するものは、dynamic_cast です。ランタイム型識別 (RTTI) サポートを有効にしてコンパイルすると、ランタイム型情報が提供されます。
dynamic_cast を使用するには、次の構文に従います。
if(NewType* v = dynamic_cast<NewType*>(old)) { // Type conversion successful }
ただし、使用する前に潜在的な欠点を考慮することが重要です。ダイナミックキャスト。実行時の型チェックは、特定のシナリオでは役立ちますが、設計原則が不適切であることを示す可能性があります。代替アプローチには次のものがあります。
dynamic_cast は広く使用されていますが、潜在的なコストに留意してください。多くの場合、十分な回避策は、オブジェクト タイプを表す enum を追加し、その enum 値に基づいて静的キャストを実行することです。
以上がJava の「instanceof」演算子に相当する C 言語は何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。