C の動的キャスト : Java の instanceof
Instanceof に相当します。Java では、オブジェクトが特定のクラスに属しているかどうかを開発者が判断できます。 C では、同様の機能を実現する手法がいくつかあります。
メソッド:
Dynamic_cast (ランタイム型識別メカニズム) が一般的なアプローチです。オブジェクトの実際の (動的) 型へのアクセスを提供します:
<code class="cpp">if (NewType* v = dynamic_cast<NewType*>(old)) { // old was safely casted to NewType v->doSomething(); }</code>
考慮事項:
代替アプローチ:
注意:
動的キャストは設計上の欠陥を示す可能性があるため、慎重に使用する必要があります。過剰な使用を避けるために、仮想関数や訪問者パターンなどの代替手段を検討してください。
以上がJava の「instanceof」機能を C で実現するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。