「C」経由でアクセスするためのコードサンプルでは、env ポインターは次のように使用されます。
const char *str = (*env)->GetStringUTFChars(env, s, 0);
C++ の場合、サンプルは同じ呼び出しを行います。
const char *str = env->GetStringUTFChars(s, 0);
ドキュメントは次のように続けています。
C++ では、余分なレベルの間接化とインターフェイス ポインター引数がソース コードから消えます。ただし、基本的なメカニズムは C とまったく同じです。C++ では、JNI 関数は C の対応する関数に展開されるインライン メンバー関数として定義されます。
そのステートメントは、C++ バージョンが最終的に C バージョンに拡張され、同じレベルの間接性を持つことを意味しますか?
ヘッダーファイルは見ていませんが、困惑しています。誰かがこの違いを説明できますか?