单个cout中的多个语句会产生不同的结果

时间:2017-05-04 06:31:41

标签: c++

int x;
int fun1()
{
    x=x+10;
    return x;
}
int main()
{
    x=5;
    cout<<x;
    cout<<fun1();
}

这会产生5和15而

cout<<x<<fun1();

这产生15和15.请解释。三江源

1 个答案:

答案 0 :(得分:0)

在c ++参考中,std::cout的参数评估顺序未指定。它不是从左到右,从右到左,或其他任何东西。

请避免这种情况。而是使用单独的电话。

see also