什么是serial copy?它与深拷贝和浅拷贝不同吗?什么是串行复制?为什么它是这样实现的?
根据Duff's device下的维基条目,它是传统上实现为:
do { //count > 0 assumed
*to = *from++; //Note that the 'to' pointer is NOT incremented
} while(--count > 0);
然后它使一个纸条,说
注意
to
不会增加,因为达夫复制到一个存储器映射的输出寄存器。
我真的不明白这个说明。
如果to
指针不递增,那么循环的重点是什么?
*to = from[count-1]; //does it not do the same thing?
我怀疑它有事情做与串行副本的定义:那么,为什么,因为它实现。
我们怎样才能为to
分配内存,以便循环会有所作为?
也许是复制到FIFO BUFFER。例如。设备的硬件缓冲区。 – neagoegab