指向指针的引用

听起来很复杂,其实按层次顺序理解就能容易,指向指针的引用:1、这是一个引用,2、这个引用引用的是一个指针。

牢记引用的实质:引用只是被引用对象/变量的别名。

测试环境:Qt, 示例代码:

int a = 1;
    int b = 2;
    int * temp = &a;
    int *&p = temp;
    p = &b;
    *p = 5;
    qDebug() << a << " a ";
    qDebug() << b << " b ";
    qDebug() << *temp << " *temp ";
    qDebug() << *p << " *p ";

结果:

理解一下其实也很简单:

1、temp是一个整型指针,指向a;

2、p是一个指向整型指针的引用,其实也就是p是temp的别名;

3,p指向了b,其实也就是temp指向了b;

4、p指向的整型的值,其实也是temp指向的整型的值,也就是b改为了5。

指向指针的引用有什么用?由于对引用的操作其实也就是对被引用对象的操作,所以当传入一个指针时,可以用来实现修改实参时同时修改被传入的形参(被传入的指针)的效果。

参考文章如下,大致整理了一下,我觉得更容易理解,如果还不好理解,可以看看原文。

http://blog.csdn.net/acs713/article/details/12508049

猜你喜欢

转载自blog.csdn.net/daizhiyan1/article/details/78133819