「instanceof」を使用せずに C でオブジェクトの型を決定する
C でオブジェクトの正確な型を決定するには、Java の " と同様の手法を使用します。 「インスタンス」キーワード。これには、動的キャストと RTTI (実行時型情報) の組み合わせが含まれます。
RTTI が有効な場合の動的キャスト:
if(NewType* v = dynamic_cast<NewType*>(old)) { // old successfully casted to NewType // Perform NewType-specific operations (e.g., v->doSomething(); ) }
注: このメソッドにはコンパイラのサポートが必要ですRTTI.
動的キャストに関する考慮事項:
型列挙アプローチ:
switch(old->getType()) { case BOX: Box* box = static_cast<Box*>(old); // Perform Box-specific operations break; // Additional cases for other types }
利点:
欠点:
以上がC で「instanceof」を使用せずにオブジェクトの型を決定するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。