C では、Java の instanceof 演算子と同等の機能を実現するには、dynamic_cast を使用したランタイム型識別 (RTTI) と呼ばれる手法が必要です。これにより、基本クラスへのポインタまたは参照として保存されている特定のオブジェクトが、特定の派生クラス インスタンスを指しているかどうかを確認できます。
オブジェクトがポインタまたは基本クラスへの参照によって指されているかどうかを確認するにはclass (old) は特定の派生クラス型 (NewType) である場合、次の構文を使用できます:
dynamic_cast にはコンパイラのサポートが必要であることに注意してください。 RTTI。コンパイル中に有効にする必要があります。
ただし、dynamic_cast を使用する前に、その必要性を慎重に検討することが重要です。一般に、これは潜在的な設計上の問題を示します。次のような、より堅牢でタイプセーフなアプローチを追求する必要があります。
以上がJava の「instanceof」演算子を C で実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。