我正在将一些代码从c ++转换为Java。有以下疑惑 -
C ++ - static char ** gprs; 在Java中 - private static String [] gprs;或私有静态字节[] gprs;
C ++ - static char * mask; 在Java中 - 私有静态字节掩码; (正确的吗?)
C ++ - memset((char *)& rm,' \ 0',sizeof(DRMK)); // 这里DRMK是一个结构。 rm是DRMK的一个对象。 所以在java中我必须创建一个类,并在声明变量时我必须将单个值设置为0.这是正确的吗?
C ++ - memcpy(& wp,(PMSK *)p_msk +(long)(x - 1),sizeof(PMSK));
如何在Java中镜像这个。 PMSK是这里的结构。
哪里 - 静态PMSK wp;
PMSK * pm;
static char * p_msk;
由于
答案 0 :(得分:2)
private static String[] gprs;
private static String;
//你愿意在这里找到一个字符串,但我并不完全确定 - 取决于具体情况。rm = new DRMK();
答案 1 :(得分:1)
答案 2 :(得分:1)
C++ - static char **gprs;
取决于使用gprs,但我会说(从查看其余代码)byte
更适合。一个字节数组。
C++ - static char *mask;
给定“掩码”名称,我会使用一个字节而不是一个字符。
C++ - memset((char *)&rm,'\0',sizeof(DRMK));
如其他答案所述......需要创建一个新的DRMK实例。
C++ - memcpy (&wp, (PMSK *)p_msk + (long)(x - 1), sizeof(PMSK));
如果你问我,这是一个按位掩码。 wp
的值将是p_msk
开头的(x-1)字节的内存位置。基本上它会将从p_msk +(x-1)开始的大小为sizeof(PMSK)
的一块内存复制到wp中。
如何用Java做到这一点?你猜对了......字节数组。