C++ 指向下一个/上一个指针的指针

C++ 指向下一个/上一个指针的指针,c++,pointers,C++,Pointers,我正在使用卷积过程,在一维数组中表示的二维图像上使用3x3网格。我迭代某些像素,需要访问周围像素(忽略边缘情况)。是否可能有一个指针总是指向另一个指针旁边的位置 int* a = new int[5]; //populate with data (0, 2, 4, 6, 8) int* b = &a[2]; //4 int* c = b+1; //6 b++; //b->6, c->6 //What if after

我正在使用卷积过程,在一维数组中表示的二维图像上使用3x3网格。我迭代某些像素,需要访问周围像素(忽略边缘情况)。是否可能有一个指针总是指向另一个指针旁边的位置

int* a = new int[5];
//populate with data (0, 2, 4, 6, 8)
int* b = &a[2]; //4
int* c = b+1;   //6
b++;            //b->6, c->6
                //What if after b++ I want c->8?

有没有办法使一个指针相对于另一个指针,这样当主指针改变时,其他指针也随之改变?因此,始终指向另一个指针邻居的指针。

递增
b
不会改变
c
。如果希望两个指针并行移动,则必须同时递增这两个指针:

b++;
c++;

不过,这似乎比它的价值更麻烦,因为您只需执行
b+1
即可找到数组中的“下一个”元素。

无需创建新指针
b[1]
将始终指向
b
的下一项,无论其当前值如何。与
b[-1]
类似。谢谢,这是我一直在寻找的内容。