C ++到Java代码转换的疑虑

时间:2011-05-16 12:58:04

标签: java c++ bits

我正在将一些代码从c ++转换为Java。有以下疑惑 -

  1. C ++ - static char ** gprs; 在Java中 - private static String [] gprs;或私有静态字节[] gprs;

  2. C ++ - static char * mask; 在Java中 - 私有静态字节掩码; (正确的吗?)

  3. C ++ - memset((char *)& rm,' \ 0',sizeof(DRMK)); // 这里DRMK是一个结构。 rm是DRMK的一个对象。 所以在java中我必须创建一个类,并在声明变量时我必须将单个值设置为0.这是正确的吗?

  4. C ++ - memcpy(& wp,(PMSK *)p_msk +(long)(x - 1),sizeof(PMSK)); 如何在Java中镜像这个。 PMSK是这里的结构。
    哪里 - 静态PMSK wp;         PMSK * pm;         static char * p_msk;

  5. 由于

3 个答案:

答案 0 :(得分:2)

  1. private static String[] gprs;
  2. private static String; //你愿意在这里找到一个字符串,但我并不完全确定 - 取决于具体情况。
  3. 只需rm = new DRMK();
  4. 这取决于PMSK结构的结构。您应该编写一个方法,从语义上将一些数据从String复制到对象。

答案 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做到这一点?你猜对了......字节数组。