int &g(int x) 函数名前加一个&是何意呀? int& g(int x)这样你该明白了把,返回一个int型的应用. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 返回一个int型的参照,例如int glb_value1=10;int glb_value2=20;int& g(int x){ if(x==0) return glb_value1; else return glb_value2;} 返回int型的引用,也就是说它可以当左值,如:g(1)=2; 我就是想问参数作引用相当于pascal中的var,那返回值干吗要引用那? 返回一个int型的参照(引用)就好象返回了它的指针,你可以通过返回的int型的参照(引用)间接的修改它.例如int glb_value=10;int& g(int x){ ... ... return glb_value;}main(){ int& tmpValue; tmpValue = g(0); tmpValue = 100; //实际上改的是glb_value的值,此时glb_value=100 !} not understand,any one highhand? 引用是一种指针,编译的时候把我们定义的引用变量的地址设置为被引用变量的地址,用法和指针一样,区别就是直接使用而不用使用地址操作符号(&,*,->什么的),几乎所有的操作都可以不用引用来完成,一个典型的应用是拷贝构造函数。Class A;A& operator=(A&){//拷贝内容}A a1,a2;a1=a2;当执行a1=a2的时候,如果参数不用引用型会导致死循环(函数自己不断调用自己,直至溢出) 还有一个应用就是:给函数赋值,比如a(0)=5;这样的句子可以成立int array[3]={1,2,3};int& a(int i){return array[i];}a(0)=5;//相当于array[0]=5; 返回的值是引用int & 是一起的,&他不和函数名一起 void g(){ int ii=0; int& rr=ii;rr++;//ii is incremented to 1int* pp=&rr;//pp points to ii} 我还是不了解函数名前加&有何妙用!! 超稳定高效的 iocp完成端口封装? 控件有自己的消息循环吗? 关于GDI+里边画样条曲线的问题?!帮助解决的可以加分 如何实现计时功能? 如何让外网成功发送消息给内网呢? LoadLibrary失败 GetLastError为:试图访问无效地址 会是什么原因呢? 多個CLSID 對應不同的類場 (沒分 , 懇求大家解惑) 请问怎么删除一行的文件内容 高手!请帮帮忙! 如何设置TREEVIEW展开 听说MFC将要被新的类库所替换,,真的吗? 用过GlobalLock的大侠帮个忙。
int glb_value1=10;
int glb_value2=20;int& g(int x)
{
if(x==0)
return glb_value1;
else
return glb_value2;
}
g(1)=2;
{
... ...
return glb_value;
}main()
{
int& tmpValue; tmpValue = g(0);
tmpValue = 100; //实际上改的是glb_value的值,此时glb_value=100 !
}
Class A;
A& operator=(A&){//拷贝内容}
A a1,a2;
a1=a2;
当执行a1=a2的时候,如果参数不用引用型会导致死循环(函数自己不断调用自己,直至溢出)
int& a(int i){return array[i];}
a(0)=5;//相当于array[0]=5;
{ int ii=0;
int& rr=ii;
rr++;//ii is incremented to 1
int* pp=&rr;//pp points to ii
}