Что такое серийное копирование? И почему это реализовано так?

Что такое серийная копия? Отличается ли он от глубокого и мелкого копирования?

Согласно записи в вики под устройством Даффа , он традиционно реализуется как:

do {                //count > 0 assumed
    *to = *from++;  //Note that the 'to' pointer is NOT incremented
} while(--count > 0);

И затем он делает пометку, говоря

Обратите внимание, что с до не увеличивается, потому что Дафф копировал в единственный отображаемый в память выходной регистр.

Я не совсем понял эту записку.

Если указатель с на не увеличивается, то в чем смысл цикла? Почему тогда это реализовано как:

*to = from[count-1]; //does it not do the same thing?

Я подозреваю, что это как-то связано с определением серийной копии.

Как мы можем выделить память для в , чтобы цикл имел какое-то значение?

6
задан Charles 17 November 2011 в 17:11
поделиться