これはなぜ機能しますか?intはどのようにしてAssetManagerになりますか?
AssetManager* am = (AssetManager*)env->GetIntField(obj, gAssetManagerOffsets.mObject);
env->env->GetIntField()
はInt
返します。 AssetManagerに変換できるのはなぜですか?このコードはファイルandroid_util_AssetManager.cpp
からのものです。
これはなぜ機能しますか?intはどのようにしてAssetManagerになりますか?
AssetManager* am = (AssetManager*)env->GetIntField(obj, gAssetManagerOffsets.mObject);
env->env->GetIntField()
はInt
返します。 AssetManagerに変換できるのはなぜですか?このコードはファイルandroid_util_AssetManager.cpp
からのものです。
返されるintは、AssetManagerへのポインタです。 (AssetManager*)
は、それがAssetManagerへのポインタであることを示しています。
したがって、intを返します。これは、あたかもAssetManagerへのポインタになります。 AssetManagerは返されません。
こちらはTutorial on Arrays and Pointers in Cです。第5章では、あなたが言及したコードで見ている構文を示します。
あなたの返事ありがとうございました。私はコードをチェックし、 'env-> SetIntField(clazz、gAssetManagerOffsets.mObject、(jint)am);'という行があることがわかりました。だから私はそれを理解する。 – Judy
素晴らしい!私の答えがあなたを助けたら、その左側の緑色のチェックマークをクリックしますか?ありがとう! –
C++タグを追加した場合、あなたはそれらの人たちともっと多くの運があると思います:p – Klaus