2

このパラメーターの組み合わせに具体的に答える質問はありません。

Java +memcpy+ポインタ。

私のC/C ++のバックグラウンドは、おそらく私にバイアスをかけています。C ++では、これを行うことができます。

memcpy (Destination, Source, length_data);

DestinationとSourceは2つのメモリ位置にすることができます。プリミティブ型の配列を使用してJavaでそれを行う方法はありますか?

のすべての実現

Arrays.copyOf
Arrays.copyOfRange

基本的に半分の仕事をしています。その意味で、データの量または特定の範囲を指定できますが、それらはすべて1つの配列を返し、既存の配列を変更しません。

前もって感謝します。

4

3 に答える 3

3

見るSystem.arraycopy(src, srcPos, dest, destPos, length)

于 2012-06-20T10:21:55.127 に答える
0

Java には、C/C++ のようにポインタがありません。

System.arraycopy(); があります。javadocs を見てください。

于 2012-06-20T10:22:05.300 に答える
0

System.arraycopy()を使用して既存の配列を変更できます

src 引数と dest 引数が同じ配列オブジェクトを参照している場合、srcPos から srcPos+length-1 までの位置のコンポーネントが最初に長さコンポーネントを持つ一時配列にコピーされ、次に一時配列の内容がコピーされたかのように、コピーが実行されます。宛先配列の destPos + length-1 から位置 destPos にコピーされます。

もちろん、Java にはポインターがないため、これは完全な類似操作ではありません。

于 2012-06-20T10:23:02.480 に答える