指针引用

参考:References to pointers

对指针的引用(Reference to pointer)可以用与对对象的引用(reference to object)几乎相同的方式声明。指针的引用是一个可修改的值,可以像普通指针一样使用

示例

void f(int *&b) {
    for (int i = 0; i < 10; i++) {
        cout << b[i] << " ";
        b[i] = 10 - i;
    }
    cout << endl;
}

int main(int argc, char *argv[]) {
    int *a;
    // 指针引用b和指针a指向同一个地址
    int *&b = a;

    b = new int[10];
    for (int i = 0; i < 10; i++) {
        b[i] = i;
    }

    cout << (void *) a << endl;
    cout << (void *) b << endl;

    f(b);
    for (int i = 0; i < 10; i++) {
        cout << a[i] << " ";
    }
}