-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 では、配列インデックスを更新することを意味します。

2番目に:

sizeof(buf);

sizeof は要素数ではなく、バイト数を返します。したがって、あなたの場合、それは実際には長さですが、sizeof(char) = 1. これはシステムによって異なります。たとえばsizeof(short) = 2、ほとんどのシステムで。したがってbuf、短い配列のsizeof(buf)場合、ほとんどの場合、長さの 2 倍に等しくなります。

于 2013-09-23T10:41:01.017 に答える