C++笔记_测试指针以及引用的传参情况
作者:互联网
之前一直对指针和引用的传参抱有疑问, 今天特地测试下
1.定义的指针不能使用常量进行初始化,想要使用就必须用变量定义然后传递这个变量的引用.
2.指针测试.
如果传入的是&a, 函数以*a接收,那么
函数体内a=传入前的&a=地址
函数体内*a=传入前的a=真实值
函数体内&a=地址的地址, 相当于二级指针
3.引用测试.
如果传入的是a, 函数以&a接收,那么
函数体内a=传入前的a=真实值
函数体内&a=传入前的&a=地址
4.再补充几种容易混淆的情况.
如果传入的是p, 函数以*a接收,那么
函数体内a=传入前的p=地址
函数体内*a=传入前的*p=真实值
函数体内&a=地址的地址, 相当于二级指针
传入前的&p=地址的地址, 相当于二级指针
这和直接传入p没有区别
由此可见, 当已经定义了指针*p, 函数以指针*a接收参数时, 无法传入指针*p和引用&p
如果传入的是*p, 函数以&a接收,那么
函数体内&a=传入前的p=地址
函数体内a=传入前的*p=真实值
传入前的&p=地址的地址, 相当于二级指针
可以看出如果是函数使用引用接收, 那么传参只能传递指针
标签:传参,函数,传入,C++,地址,接收,体内,指针 来源: https://blog.csdn.net/qq_34101232/article/details/94133448