c++的引用
来源:互联网 发布:海康网络球机接线图解 编辑:程序博客网 时间:2024/06/06 14:28
最近在自学C++,遇到了C++的引用,理解了那么一点点,所以记录下来,方便以后查看。C++引用语法上我早就懂了,但之前我不明白为什么会有引用的语法。
int main(){ int a = 10; int &b = a;}
上面的代码就是C++的引用语法,创建b的时候就得马上给b赋值。b就其实就相当于给a取了个另外一个名字,b和a都是同一个东西。以前的时候我就纳闷了,这样的做法有何意义,直接用a不就行了吗,为什么得给他取另外一个名字,然后用另外一个名字。下面的代码时我对引用的一些理解。
void A(int *a){ *a = 20;}void B(int &a){ a = 21;}int main(){ int age = 1; A(&age); //age =20; B(age); //age = 21;}
看完上面的代码可能更纳闷了,A和B函数都能改变age的值,A函数用指针的方法,B函数用引用的方法。直接用A不就完了吗?其实是这样的,A函数的功能和B函数的功能都是一样的,但是从执行效率上来讲B函数要快些,因为B函数用引用不用再开辟空间了。但是A函数定义int *age这个指针时还得为这个指针开辟空间。所以我个人理解是引用应该是常用于函数的形参中。
上面我说到创建引用时应该马上赋值,可能有些人会问我在定义函数定义那个引用并没马上赋值啊!哈哈,别忘了,函数是在被调用时参数形参才会被创建。所以当B函数被调用时其实就是B(int &a = age);
我理解总结的是引用能做的事,指针都能做,指针能做的事,引用不一定能做。我没怎么用深入地使用C++语言做项目,很多理解可能都停留在表面上,希望对引用有更深理解的同行们指点更正。
0 0
- C++“引用”的理解
- [C++] 引用和指向指针的引用
- 关于C++引用C,C引用C++,extern的使用
- 引用 Invoke的用法(C#)
- [C] 指针参数的引用
- c/c++指针的引用
- c的指针*和引用&
- 【C++】指针&引用的区别
- [C/C++]数组的引用、多维数组
- 引用的本质是什么(c++,c#,java)?
- 【C/C++】引用和指针的区别
- 【C/C++】指针与引用的区别
- [C++]关于数组的引用和引用的数组
- C变量的直接引用与间接引用区别
- 引用-利用引用交换两个变量的值【C++】
- 引用(c++)
- C++----引用
- c++-引用
- 安卓启动界面源码共享,使用线程实现的!
- USACO 奶牛食品(最大流)
- easyui datagrid打印
- iOS strong weak
- 计算listview的高度
- c++的引用
- android学习笔记之adb无法启动
- 进程调度
- 互联网金融系列-支付清算体系介绍-上
- nodejs 原生代码实现http 服务器和客户端并交互
- 回调函数
- Android程序按两次返回键提示退出信息
- Constructing Roads
- 南邮 OJ 1219 整数因子分解问题