引用
逗號表示式的語法為:
表示式1,表示式2,...表示式n
C++順序計算表示式1,表示式2,……,表示式n的值。例如:
int a,b,c;
a=l,b=a+2, c=b+3;
由於按順序求值, 所以能夠保證b一定在a賦值之後, c一定在b賦值之後。該逗號表 達式可以用下面3個有序的賦值語句來表示:
a=1;
b=a+2;
c=b+3;
逗號表示式是有值的,這一點是語句所不能代替的。逗號表示式的值為第n個子表達 式的值,即表示式n的值。例如:
int a,b,c,d;
d=(a=1,b=a+2,c=b+3);
cout
輸出結果為:
6
上例中輸出的結果d即為c的值。
逗號表示式還可以用於函式呼叫中的引數。例如:
func(n,(j=1,j+4),k);
該函式呼叫有3個引數,中間的引數是一個逗號表示式。括號是必須的,否則,該函式有4個引數了。逗號表示式作為值的形式,可以用於幾乎所有的地方。
C++中,如果逗號表示式的最後一個表示式為左值,則該逗號表示式為左值。例如:
(a=1,b,c+1,d)=5; //ok:即d=5
->在C中,逗號表示式是不能作左值的,所以 “(a=1,b,c+1,d)=5;”將通不過編譯
引用
逗號表示式的語法為:
表示式1,表示式2,...表示式n
C++順序計算表示式1,表示式2,……,表示式n的值。例如:
int a,b,c;
a=l,b=a+2, c=b+3;
由於按順序求值, 所以能夠保證b一定在a賦值之後, c一定在b賦值之後。該逗號表 達式可以用下面3個有序的賦值語句來表示:
a=1;
b=a+2;
c=b+3;
逗號表示式是有值的,這一點是語句所不能代替的。逗號表示式的值為第n個子表達 式的值,即表示式n的值。例如:
int a,b,c,d;
d=(a=1,b=a+2,c=b+3);
cout
輸出結果為:
6
上例中輸出的結果d即為c的值。
逗號表示式還可以用於函式呼叫中的引數。例如:
func(n,(j=1,j+4),k);
該函式呼叫有3個引數,中間的引數是一個逗號表示式。括號是必須的,否則,該函式有4個引數了。逗號表示式作為值的形式,可以用於幾乎所有的地方。
C++中,如果逗號表示式的最後一個表示式為左值,則該逗號表示式為左值。例如:
(a=1,b,c+1,d)=5; //ok:即d=5
->在C中,逗號表示式是不能作左值的,所以 “(a=1,b,c+1,d)=5;”將通不過編譯