3
給定一個PyObject*
在C++如何確定它是否爲PyLongDoubleScalarObject
的實例?確定PyObject *是PyLongDoubleScalarObject(numpy)
PyLongDoubleScalarObject
是存儲128位浮點數(long double
)的相應numpy類,它在numpy/arrayscalars.h
中定義。使用dynamic_cast
不起作用PyObject*
非多態。當我看看如何做一些dynamic_cast
對應PyObject
,那麼我大多會發現使用PyLong_Check
等函數的提示,但我沒有找到類似PyLongDouble_Check
的東西。
PyLongDoubleScalarObject應像每個非變長的PyObject一樣包含一個名爲ob_type的成員,它是一個指向表示類型的對象的指針。它應該指向相同類型的所有Python對象的相同地址,通常是名爲'X_Type'的對象的地址,其中'X'是類型名稱。在這種情況下,我不確定類型對象的名稱。 – jogojapan