限制限定符和指针算术

时间:2011-05-22 09:47:35

标签: c++ c

递增或递减限制限定指针是否保留没有别名假设?

// 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
    }
}

谢谢。

1 个答案:

答案 0 :(得分:2)

是。 restrict限定符是指针类型的一部分,当您递增,递减或赋值时,不会更改此类型。