什么是串行复制?深拷贝和浅拷贝有区别吗?
根据Duff 的 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
使循环有所作为?