-1

我有要从 CPP 转换为 Java 的代码。尽管我几乎没有在 CPP 上工作过,但几乎没有什么令人困惑的事情。

我想了解以下 CPP 代码以及如何用 Java 表示它:

UInt8* data;
memcpy(data, rawData, rawDataLen);
UInt8* dp = data;
dp += 8; //Is it updating the Array Index?
char buf[256];
sizeof(buf) //Can I take it as Length?

请建议。

4

1 回答 1

2

对于你的第一个问题:

dp += 8;

是的,这会设置数组中位置的指针。所以在java中这意味着你更新你的数组索引。

到第二个:

sizeof(buf);

sizeof 返回字节数,而不是元素数。所以在你的情况下,它确实是长度,但只是,因为sizeof(char) = 1. 这取决于系统。例如sizeof(short) = 2在大多数系统上。因此,如果您buf是一个短数组sizeof(buf),则在大多数情况下,它将等于长度的两倍。

于 2013-09-23T10:41:01.017 回答