gì? Nó khác với bản sao sâu và bản sao nông?Bản sao nối tiếp là gì? Và tại sao nó được thực hiện như thế này? <em>serial</em> bản sao là
Theo mục wiki dưới Duff's device, nó được truyền thống thực hiện như:
do { //count > 0 assumed
*to = *from++; //Note that the 'to' pointer is NOT incremented
} while(--count > 0);
Và sau đó nó làm cho một lưu ý, nói
Lưu ý rằng
to
không tăng vì Duff đã được sao chép để một thanh ghi đầu ra được ánh xạ bộ nhớ duy nhất.
Tôi thực sự không hiểu lưu ý này.
Nếu to
con trỏ không được tăng lên, thì điểm của vòng lặp là gì? Tại sao sau đó nó được thực hiện như:
*to = from[count-1]; //does it not do the same thing?
Tôi nghi ngờ rằng nó có cái gì để làm với định nghĩa của serial bản sao.
Làm cách nào chúng tôi có thể cấp phát bộ nhớ cho to
để vòng lặp có thể tạo sự khác biệt?
Có thể là một bản sao cho một BUFFER FIFO. Ví dụ. một bộ đệm phần cứng cho một thiết bị. – neagoegab