nUnrefFamily(mNativePtr)
52 @Override 53 protected void finalize() throws Throwable { 54 try { 55 nUnrefFamily(mNativePtr); 56 } finally { 57 super.finalize(); 58 } 59 }
45 static void FontFamily_unref(JNIEnv* env, jobject clazz, jlong familyPtr) { 46 FontFamily* fontFamily = reinterpret_cast<FontFamily*>(familyPtr); 47 fontFamily->Unref(); 48 }
reinterpret_castは、愚直なキャストである。 reinterpret_castは、値を保ったまま、型情報だけ変えることのできるキャストである。 だから、int *からfloat *とか、some_class *からother_class *などといった、 お互いに派生関係になく、ユーザー定義の型変換関数もない型のポインターやリファレンスにも変換できる。 これは、変換するというより、型だけ変えるというべきである。値はそのまま保持される。