c++将引用或者是指针作为函数参数实现实参的运算_C语言教程-查字典教程网
c++将引用或者是指针作为函数参数实现实参的运算
c++将引用或者是指针作为函数参数实现实参的运算
发布时间:2017-01-07 来源:查字典编辑
摘要:C++增加引用类型,主要是把它作为函数参数,以扩充函数传递数据的功能,较指针参数来得更加安全直观。将引用作为参数传递的时候,实参初始化形参的...

C++增加引用类型, 主要是把它作为函数参数,以扩充函数传递数据的功能,较指针参数来得更加安全直观。将引用作为参数传递的时候,实参初始化形参的时候不分配内存空间,也不调用拷贝构造函数,因此更加能够提高运算的性能。所以我们应该尽可能地使用引用,而非指针,但是应该要注意,因为局部变量具有自己短暂的生命周期,因此不能够返回对一个局部变量的引用。

引用通常是在被定义的时候被初始化,但是当它作为参数的时候,则是在被调用的时候被初始化。这时候对引用所做的改变就是对被引用的变量所做的改变。

引用对变量的访问是直接访问,指针则是间接访问,指针有自己独立的地址和内存空间,引用则是变量的别名没有独立的内存空间。

传递变量的指针

复制代码 代码如下:

//形参是指针变量,实参是一个变量的地址,调用函数时,形参(指针变量)指向实参变量单元。

//函数通过使用指针变量作形参的时候,能够实现两个指针变量所指向的值的互换。

#include <iostream>

using namespace std;

int main( )

{ void swap(int *,int *);

int i=3,j=5;

swap(&i,&j); //实参是变量的地址

cout<<i<<" "<<j<<endl; //i和j的值已互换

return 0;

}

void swap(int *p1,int *p2) //形参是指针变量

{ int temp;

temp=*p1; //以下3行用来实现i和j的值互换

*p1=*p2;

*p2=temp;

}

利用“引用形参”实现两个变量的值互换

复制代码 代码如下:

#include <iostream>

using namespace std;

int main( )

{ void swap(int &,int &);

int i=3,j=5;

swap(i,j);

cout<<"i="<<i<<" "<<"j="<<j<<endl;

return 0;

}

void swap(int &a,int &b) //形参是引用类型,在函数被调用的时候,引用被初始化

{ int temp;

temp=a;

a=b;

b=temp;

}

//输出结果为

// i=5 j=3

相关阅读
推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
  • 大家都在看
  • 小编推荐
  • 猜你喜欢
  • 最新C语言学习
    热门C语言学习
    编程开发子分类