读书人

函数参数中使用++运算该怎么理解

发布时间: 2013-06-19 10:26:41 作者: rapoo

函数参数中使用++运算该如何理解
比如我定义一个函数
int Fun(inb iPara)
{
return iPara;
}

然后调用的时候:
int iSum = 1;
Fun(iSum++);
这时候iSum是先传参等函数结束运行的时候再执行++ 吗?
是不是等价于
{
Fun(iSum);
iSum += 1;
}
如果函数参数为指针类型:
int Sum(TNode *pNode)
那么调用的时候
假如TNode *p是一个不是尾结点的指针
Fun(p++)该如何理解?
[解决办法]
一个道理,p++返回临时值参与运算,然后自身再加1,这里p指向下一个节点
[解决办法]
传值调用,调用后再自增1。
是等价于
{
Fun(iSum);
iSum += 1;
}


假如TNode *p是一个不是尾结点的指针
Fun(p++)该如何理解?
就是指向下一个元素啊。

读书人网 >VC/MFC

热点推荐