シリアルコピーとは?ディープコピーとシャローコピーとの違いは?
Duff's device の下の wiki エントリによると、従来は次のように実装されていました。
do { //count > 0 assumed
*to = *from++; //Note that the 'to' pointer is NOT incremented
} while(--count > 0);
そして、それは次のようにメモします。
to
Duff が単一のメモリ マップ出力レジスタにコピーしていたため、 はインクリメントされていないことに注意してください。
この注意書きがよくわかりませんでした。
to
ポインターがインクリメントされていない場合、ループのポイントは何ですか? なぜそれは次のように実装されます:
*to = from[count-1]; //does it not do the same thing?
シリアルコピーの定義と関係があるのではないかと思います。
to
ループが何らかの違いを生むように、メモリをどのように割り当てることができますか?