【发布时间】:2011-05-23 01:30:46
【问题描述】:
我知道 C++ 没有指定将参数传递给函数的顺序。但是如果我们写如下代码:
void __cdecl func(int a, int b, int c)
{
printf("%d,%d,%d", a,b,c);
}
int main()
{
int i=10;
func(++i, i, ++i);
}
我们能否可靠地说输出将是 12,11,11,因为 __cdecl 确保参数传递顺序是从右到左?
【问题讨论】:
-
既然我永远不会写这样的代码,我很想知道是什么引发了这个问题。约束是什么?
-
另外你有没有读过百万和一篇关于不要在一个语句中多次修改变量的帖子。