C++实现指针和数组移植到java
我将一些C++代码移植到使用重指针运算的java上。 我的问题如下:有一个这样构建的结构,我将其实现为一个类:
在最初的C/C++代码中,我有以下任务:
struct mst_edge
{
int u, v;
double w;
}
mst_edge * tree_edges = new mst_edge[size];
int node_l = tree_edges->u;
int node_r = tree_edges->v;
如何将此代码转换为java?第二个块将mst_edge
声明为C/C++动态数组。但在第三段代码中,它使用树_边作为直接指针
考虑到内存和引用是由Java直接处理的,Java的等价物是什么
# 1 楼答案
Java的等价物是
# 2 楼答案
在OOJava中,可以使用getter来检索私有成员变量。大小是您定义的任何值
# 3 楼答案
类中的所有变量都是
在Java中通常不会这样做;成员变量将是
private
,带有public
访问器方法,但这最接近于struct
在C/C++中,指向数组的指针只是Java中的数组
但是要注意,在Java中,声明数组意味着现在有了}元素。像这样初始化它们:
size
{在Java中,您必须显式地引用第一个元素,而不是像C/C++中那样将指针视为对第一个元素的直接引用