首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在c++中可以使用操作符重载吗?

在c++中可以使用操作符重载吗?
EN

Stack Overflow用户
提问于 2014-02-12 20:50:05
回答 1查看 493关注 0票数 1

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-12 20:54:11

是的,但不是你所期望的那样。您可以使用JNI调用NDK函数,这可能在内部使用操作符重载。但是,您从本机方法中输入的任何Java调用都将调用具有与声明的本机函数的类名和名称相对应的特定名称的C++函数。

例如,以下Java声明:

代码语言:javascript
运行
复制
package com.foo;
class Obj {
    int i;
    native void doCalc();
}

将匹配以下C++声明:

代码语言:javascript
运行
复制
JNIEXPORT void JNICALL 
Java_com_foo_Obj_doCalc(JNIEnv * env, jobject  obj)
{}

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21739266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档