C++ 中++运算符重载 为什么括号里要加int

template<classT>typenamelist<T>::iterator&A_iterator<T>::operator++(){++it;returnit;}... template<class T>

typename list<T>::iterator& A_iterator<T>::operator++()
{
++it;
return it;
};
template<class T>

typename list<T>::iterator A_iterator<T>::operator++(int)
{
typename list<T>::iterator old = it;
it++;
return old;
};

这两个运算符重载有什么区别 为什么调用++ 比如 it++会调用第二个
展开
 我来答
kaixingui2012
2014-11-27 · TA获得超过4.2万个赞
知道大有可为答主
回答量:1.4万
采纳率:81%
帮助的人:6414万
展开全部
因为++有两种形式,前++和后++,
所以,必须有区分两种++的方式,
这个方式就是在 后++的函数定义 上加一个没用的int参数(虚参)。
使用的时候不用在意,只要写成后++就会调用带参数的版本,写成前++就会调用不带参数的版本
winxpliyou
2014-11-27 · 超过65用户采纳过TA的回答
知道小有建树答主
回答量:267
采纳率:0%
帮助的人:158万
展开全部
因为操作符有前置操作符和后置操作符的区别,加一个Int是为了区别到底是哪一个
追问
加了int是怎么区别的,++不就是加1么?
追答
有int的是后置操作符,没有的是前置操作符
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式