首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

c++ 摘引

2012-09-28 
c++ 引用#includeiostreamusing namespace stdvoid myswap(int*a,int *b)int main(int argc,char *arg

c++ 引用
#include<iostream>
using namespace std;
void myswap(int*a,int *b);
int main(int argc,char *argv[])
{
int a=16,b=48;
cout<<"a="<<a<<",b="<<b<<endl;
myswap(&a,&b);
cout<<"after being swapped:\n";
cout<<"a="<<a<<",b="<<b<<endl;
system("pause");
}
void myswap(int* a,int *b)
{
int temp=*a;
*a=*b;
*b=temp;
}
刚学C++对引用不太明白,能不能请大神门将这个程序中的指针改为引用 谢谢啦 最好能够详细解释一下为什么

[解决办法]
void myswap(int& a,int &b)
{
int temp=a;
a=b;
b=temp;
}
指针指向一个数据的地址,而引用代表的是数据本身。
[解决办法]
完整代码如下:[code=C/C++][/code]#include<iostream>
using namespace std;
void myswap(int &a,int &b);
int main(int argc,char *argv[])
{
int a=16,b=48;
cout<<"a="<<a<<",b="<<b<<endl;
myswap(a,b);
cout<<"after being swapped:\n";
cout<<"a="<<a<<",b="<<b<<endl;
system("pause");
}
void myswap(int &a,int &b)
{
int temp=a;
a=b;
b=temp;
}

[解决办法]

探讨

那是不是说在参数传递的时候和一般的变量没什么差别 那为什么要发明引用:
#include<iostream>
using namespace std;
void myswap(int*a,int *b);
int main(int argc,char *argv[])
{
int a=16,b=48;
cout<<"a="<<a<<",b="<<b<<end……

[解决办法]
正如二楼所改的,引用和指针一样,当你在你的子涵数中改变这个变量时,调用者主函数中的值也会发生改变,而一般参数传递不会改变,建议楼主自己去跟踪调试下就行了
[解决办法]
一般如果被传的参数一定不会指向NULL的话 都用引用 除非你是指针控 比如我...

热点排行