c++中的引用

来源:互联网 发布:c# 阿里云服务器 编辑:程序博客网 时间:2024/06/05 01:13
下面这个例子体现引用在c++里的作用。
先解释一下什么是引用。引用在c++中实际是对象的别名,定义引用的格式是"type & name = object"。即是,如果有一个对象object,而name是object的引用,那么object和name实际是一个东西的两个不同名字(不是副本)。比方说:
int i;
int & j = i;
那么i和j完全是一个东西,都是int型

回到例子。例子的目的是交换2个数的值,如果不使用引用,下面的代码达不到交换的目的,你可以尝试把红色&去掉验证一下。原因是,不用引用的情况下,main函数里调用swap(a,b)时,传递给swap的是a,b的副本,副本a,b在swap里交换之后即结束,而原来的a,b却并没有任何变化,因为副本的值是不会传回给原本的a,b的。
[root@sparkmaster test]# cat ref.cpp
</pre><pre name="code" class="cpp">#include <iostream>using namespace std;void swap(int <span style="color:#ff0000;">&</span> x, int <span style="color:#ff0000;">&</span> y){        int temp;        temp = x;        x = y;        y = temp;}main(){        int a = 1, b = 2;        cout<<"a="<<a<<"  b="<<b<<"\n";        swap(a,b);        cout<<"a="<<a<<"  b="<<b<<"\n";        return 1;}


0 0
原创粉丝点击