c++关于引用

#include <iostream>


using namespace std;


int f(int i)
{
    return ++i;
}
int &g(int &i)       //会改变a的值
{
    return ++i;
}
int h(char i)
{
    return ++i;
}
int main()
{
    int a=0,b=0,c=0;
    a+=f(g(a));    //3       a=a+f(g(a))=3调用了一次引用函数,a的值发生一次改变 a=1
    b+=g(g(b))    ;//4         b=b+g(g(b))  调用两次引用函数,b的值发生两次改变 b=2
    c+=f(h(c));      //2   调用的函数中没有引用    c=0
    cout<<"a="<<a<<endl<<"b="<<b<<endl<<"c="<<c<<endl;
    return 0;
}

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。