在 C 中,用於確定物件類型的 Java 的 instanceof 運算子的等價物是dynamic_cast。它在啟用運行時類型識別 (RTTI) 支援的情況下進行編譯時提供運行時類型資訊。
要使用dynamic_cast,請遵循以下語法:
if(NewType* v = dynamic_cast<NewType*>(old)) { // Type conversion successful }
但是,在使用之前考慮潛在的缺點非常重要動態_cast。運行時類型檢查雖然在某些情況下很有用,但可能表明設計原則不佳。替代方法包括:
雖然dynamic_cast被廣泛使用,但請記住它的潛在成本。在許多情況下,一種解決方法可能就足夠了,那就是添加一個表示物件類型的枚舉,並根據枚舉值執行靜態轉換。
以上是Java 的 `instanceof` 運算子在 C 中的等價物是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!