Q:

"sequenced before" and "Every evaluation in the calling function" in c++

Every evaluation in the calling function (including other function calls) that is not otherwise specifically sequenced before or after the execution of the body of the called function is indeterminately sequenced with respect to the execution of the called function.
In other words, function executions do not interleave with each other.
what is the meaning of "Every evaluation".
#include <iostream>
using namespace std;
int a = 0;
ing b = 0;
int f(int,int)
{
    cout << "call f, ";
    cout << "a=" << a << ", ";
    cout << "b=" << b << ", ";
    return 1;
}

int g()
{
    cout << "call g, ";
    cout << "a=" << a << ", ";
    cout << "b=" << b << ", ";
    return 1;
}

int main()
{
    f(a++, b++) + g();
    return 0;
}

it menas evaluation of function call expression f(a++, b++), so evaluation of a++, evaluation of b++, and execution of f are all sequenced before or after the execution of g.
In this case, there are two kinds of results. If evaluation of expression f(a++, b++) is sequenced before the execution of g:
call f, a=1, b=1, call g, a=1, b=1,
If execution of g issequenced before evaluation of expression f(a++, b++):
call g, a=0, b=0, call f, a=1, b=1,

2.It means evaluation of a++, evaluation of b++, or execution of f. 
So evaluation of a++ may be sequenced before execution of g, evaluation of b++ and execution of f may be sequenced after execution of g.
call g, a=1, b=0, call f, a=1, b=1,

It means value computation or side effect.

So value computation of a++ may be sequenced before execution of g, side effect of a++, evaluation of b++ and execution of f may be sequenced after execution of g.
call g, a=0, b=0, call f, a=1, b=1,

In this case,
f(a++, b++) + (a = g());
1.value computation of a++
2.execution of g
3.side effect of a++
4.side effect of = (a = 0)
5.evaluation of b++
6.execution of f

call g, a=0, b=0, call f, a=0, b=1,

Which one is right? Or other answer?
I'm not an English speaker, and I'm not very good at English.
I hope you can understand what i say
f(h1(), h2()) + g(h3(), h4())
h1 and h2 are sequenced before f, h3 and h4 are sequenced before g.
Is it possible:

h1
h4
h2
f
h3
g

A:

[expr.post.incr]/1 ... The value computation of the ++ expression is sequenced before the modification of the operand object. With respect to an indeterminately-sequenced function call, the operation of postfix
  ++ is a single evaluation. [ Note: Therefore, a function call shall not intervene between the lvalue-to-rvalue conversion and the side effect associated with any single postfix ++ operator. —end note ]...

My reading of this is that the side effects of a++ and b++ must complete before the body of f is executed, and therefore within f it must be that a==1 and b==1. Your examples #2 and #3 are not possible with a conforming implementation.
A call to g is indeterminately sequenced with a call to f, and thus can observe either pre-increment or post-increment values.

