0
假設我有一個緩衝:什麼是在環形緩衝區中向後循環的好方法?
static const int BUFFER_SIZE = 3; // for example
int buffer[BUFFER_SIZE];
,我想通過它
int index = 0;
for(;;)
{
buffer[index] = ...;
index = (index + 1) % BUFFER_SIZE; // index = 0, 1, 2, 0, 1, 2, 0, 1, 2, ...
}
但是,如果我通過緩衝要循環向後會發生什麼循環? 如:0,2,1,0,2,1,...
現在林這樣做:
index = (index <= 0) ? BUFFER_SIZE - 1 : index - 1;
有沒有做這些操作的更好的辦法?