递增或递减限制限定指针是否不会保留别名假设?
// a and b point to disjoint arrays
void foo(size_t n, double * __restrict a, double * __restrict b) {
size_t i;
double x, y, z;
double * c = b; // copy
for(i=0; i<n; ++i) {
x = *(a++); // not aliased
y = *(b + i); // not aliased
z = c[i]; // not aliased
}
}
谢谢。
最佳答案
是的。 restrict
限定符是指针类型的一部分,当您递增、递减或赋值时,该类型不会改变。
关于c++ - 限制限定符和指针算术,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6087160/