| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2463 人关注过本帖
标题:第一个参数是引用传值的方式,第二个参数是按值传递。求问为什么第一个是双 ...
只看楼主 加入收藏
蛤蟆001
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2016-9-2
结帖率:70%
收藏
 问题点数:0 回复次数:3 
第一个参数是引用传值的方式,第二个参数是按值传递。求问为什么第一个是双向的,第二个是单向的?
#include<iostream>
void fun(int &x,int y)
{
int t=x;x=y;y=t;
}
int main()
{
int a[2]={23,42};
fun (a[1],a[0]);
std ::cout <<a[0] <<"," <<a[1] << std::endl;
return 0;
}
麻烦以这个例题给我讲解一下
2016-09-09 01:13
rjsp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:528
帖 子:9007
专家分:53942
注 册:2011-1-18
收藏
得分:0 
什么单向的双向的,这些基础知识找本书看看就知道了

C++的
void fun( int& x, int y )
{
    x = 1;
    y = 2;
}
int main( void )
{
    int a=0, b=0;
    fun( a, b );
}
相当于C的
void fun( int* x, int y )
{
    *x = 1;
    y = 2;
}
int main( void )
{
    int a=0, b=0;
    fun( &a, b );
}
2016-09-09 08:37
BBOY愿愿
Rank: 3Rank: 3
来 自:四川
等 级:论坛游民
威 望:9
帖 子:60
专家分:67
注 册:2015-12-9
收藏
得分:0 
这个简单

前者是地址   能通过地址改变原始的值
后者是变量   通过值传递的方式  将实参传给形参  这不能改变原始的值   
你学 了指针就知道  这是怎么回事了

其实你可以很优秀------对自己说-----即使遍体鳞伤也要活得漂亮-------
2016-09-09 12:48
蛤蟆001
Rank: 1
等 级:新手上路
帖 子:34
专家分:0
注 册:2016-9-2
收藏
得分:0 
谢谢大家!
2016-09-10 00:13
快速回复:第一个参数是引用传值的方式,第二个参数是按值传递。求问为什么第一个 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.017000 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved