c++引用 改变外部值

先看一段程序:

// PassReference.cpp

#include<iostream>

using namespace std

 

void f(int& r){

     cout<<"r="<<r<<endl;

cout<<"&r="<<&r<<endl;

r=5;

cout<<"r="<<r<<endl;

}

 

 

int main(){
int x=47;

cout<<"x="<<x<<endl;

cout<<"&x="<<&x<<endl;

f(x);

cout<<"x="<<x<<endl;

 

}

 

生成的结果如下:

 

从结果中可以看到, 尤其是最后一行,我们可以得到x值已经得到了改变,所以从中知道,当引用当做函数的参数时候,其效果和指针的效果是一样的,既引用传递允许一个函数去修改外部对象,就像传递一个指针所做的那样。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C++引用的使用方式主要有两种:作为函数参数传递和作为对象的别名使用。下面分别举例说明。 1. 作为函数参数传递 引用作为函数参数传递,可以避免参数的复制,提高函数的效率。同时,通过引用传递参数还可以修改函数外部的变量。 例如,下面的代码演示了如何使用引用作为函数参数传递: ```cpp #include <iostream> using namespace std; void swap(int& a, int& b) { int temp = a; a = b; b = temp; } int main() { int x = 10, y = 20; cout << "Before swap: x = " << x << ", y = " << y << endl; swap(x, y); cout << "After swap: x = " << x << ", y = " << y << endl; return 0; } ``` 输出结果为: ``` Before swap: x = 10, y = 20 After swap: x = 20, y = 10 ``` 在这个例子中,swap函数中的参数都是引用类型,当调用swap函数时,实参x和y的被传递给了形参a和b,并且在函数中对a和b的修改会直接影响到x和y的。 2. 作为对象的别名使用 引用可以作为对象的别名使用,使得对象可以有多个名称。下面的代码演示了如何使用引用作为对象的别名使用: ```cpp #include <iostream> using namespace std; int main() { int x = 10; int& r = x; cout << "x = " << x << ", r = " << r << endl; r = 20; cout << "x = " << x << ", r = " << r << endl; return 0; } ``` 输出结果为: ``` x = 10, r = 10 x = 20, r = 20 ``` 在这个例子中,r是x的引用,通过r也可以访问x的。当修改r的时,x的也会跟着改变

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值