gpt4 book ai didi

java - c++中的运算符重载可以用在java中吗

转载 作者:行者123 更新时间:2023-11-30 02:48:55 24 4
gpt4 key购买 nike

好的,所以我写了一些代码,这些代码需要操作重载以使语法具有良好的可读性。现在我正在使用 Java 编写程序。但是我虽然嘿 c++ 得到了操作重载并且 android 支持 Java 和 c++ 编程,所以也许我可以创建我需要的类在 c++ 中进行操作重载并在 Java 代码中使用。我想知道这是否可行,或者 Java 中对操作重载的限制会阻止我这样做吗?

最佳答案

是的,但不是您所期望的那样。你会使用 JNI调用可能内部使用运算符重载的 NDK 函数。但是,您从 native 方法中进行的任何 Java 调用都将调用一个 C++ 函数,该函数的特定名称与声明的 native 函数的类和名称相对应。

例如,下面的 Java 声明:

package com.foo;
class Obj {
int i;
native void doCalc();
}

将匹配以下 C++ 声明:

JNIEXPORT void JNICALL 
Java_com_foo_Obj_doCalc(JNIEnv * env, jobject obj)
{}

这显然不是运算符重载。该函数本身可以在其执行中使用重载运算符。

关于java - c++中的运算符重载可以用在java中吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21739266/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com