星期四, 十月 12, 2006

C++'++'的一点心得

记下来免得忘了。

以下的代码可以编译过
int& t1(int& ip)
{
cout<<"function t1 says: "<< ip<< endl;
return ++ip;
}


但是这样就不行
int& t1(int& ip)
{
cout<<"function t1 says: "<< ip<< endl;
return ip++;
}
为何?我的分析:
return(++ip)<=>{ip=ip+1;return(ip)}
return(ip++)<=>{int temp=ip;ip=ip+1;return(temp)}
所以错了:
cannot convert from 'int' to 'int &'
姑且这么理解吧。

没有评论: