我有一个接收指针数组的函数,如下所示:
void foo(int *ptrs[], int num, int size)
{
/* The body is an example only */
for (int i = 0; i < size; ++i) {
for (int j = 0; j < num-1; ++j)
ptrs[num-1][i] += ptrs[j][i];
}
}
我想传达给编译器的是指针ptrs[i]
不是彼此的别名,并且数组ptrs[i]
不重叠。我该怎么做?我别有用心是鼓励自动矢量化。
__restrict__
另外,有没有办法获得与a 的迭代器相同的效果std::vector
?