c++基础教程-引用

来源:基础教程网时间:2012-06-13

  引用和指针类似,都是直接对变量地址操作,区别是引用对象不能改变,引用要直观好理解一些,本教程就具体为大家介绍一下引用。

  1、启动 Geany

  1)点菜单“应用程序-编程-Geany”启动 Geany ,新建一个 c++ 源程序;

  2)点菜单“文件-另存为”命令,以“refer”为文件名,保存文件到自己的文件夹;

  2、建立引用

  1)引用相当于变量的别名或另外的绰号,本身并不是变量,因此只有声明没有定义;

  输入下面的代码:

      int a = 25;

      int &ra = a;

      cout << "ra= " << ra; 

  2)第一句定义一个整型变量 a,变量在内存中有地址,可以用变量名 a 来访问,

  第二句建立一个引用,类型是整型,与号 & 是定义符号,前面有类型的一定是声明或定义,

  第三句是显示 ra,跟指针类似,定义完了就可以直接用 ra 这个名称;

c++基础教程-引用

  输出 ra 实际上就是输出 a,像是变量 a 又多了一个地址名;

  3)接下来我们来看二者之间相互对应关系,继续输入下面的代码;    

      a = 16;

      cout << "ra= " << ra <<endl;

      ra = 20;

      cout << "a = " << a <<endl; 

  4)第一句改变变量 a 的值,ra 跟着也改变,

  第二句改变引用 ra 的值,a 也跟着变;

c++基础教程-引用

  #include <iostream>

  using namespace std;

  int main(int argc, char** argv)

  {

      int a = 25;

      int &ra = a;

      cout << "ra= " << ra;

      cout << endl << endl;

      a = 16;

      cout << "ra= " << ra <<endl;

      ra = 20;

      cout << "a = " << a <<endl;

      return 0;

  } 

  5)引用和指针用在函数中比较多,函数运行时要使用形参,形参是一个局部临时变量,

  函数在结束时要返回运算结果,这个值也要先存放在一个局部临时变量里,

  使用引用和指针的地址特性,可以跳过局部变量,直接对传过来的变量进行操作,提高速度,节省内存资源;

  6)新建一个c++程序,保存文件名为 swap,输入下面的代码;

  #include <iostream>

  using namespace std;

  void swap (int &rx, int &ry); //声明一个函数,定义在主函数外面

  int main(int argc, char** argv) //主函数,调用 swap 函数

  {

      int a =25;

      int b= 16;

      cout << " a= " << a;

      cout << " b= " << b;

      cout << endl << endl;

      swap(a,b);  //调用函数,直接交换 a,b

      cout << " a= " << a;

      cout << " b= " << b;

      return 0;

  }

  void swap(int &rx, int &ry) //定义前面声明的函数

  {

      int temp = rx;

      rx = ry;  //使用的时候直接使用引用名称

      ry = temp;

  } 

c++基础教程-引用

发表评论

最新评论(共6条)

2345市网友

能下载就好了!

2012-10-28 49

回复@2345网友:

  • 取消

2345市网友

真的很不错,以前在学习C++的时候总是无法弄懂引用和指针的真正的含义,而现在,通过不断的联系和举证,慢慢的有了自己对于这方面的理解,真的很直观,这个例子举得也是十分的得当。

2012-08-03 51

回复@2345网友:

  • 取消

2345市网友

简单,资源太少

2012-07-27 49

回复@2345网友:

  • 取消

2345市网友

不简单,不大看得懂

2012-07-24 49

回复@2345网友:

  • 取消

2345市网友

我是小学毕业    没看懂

2012-07-18 49

回复@2345网友:

  • 取消