3.1.9逗號(hào)運(yùn)算符
多個(gè)表達(dá)式可以用逗號(hào)組合成一個(gè)表達(dá)式,即逗號(hào)表達(dá)式。
逗號(hào)運(yùn)算符帶兩個(gè)操作數(shù),返回值是右操作數(shù)。
逗號(hào)表達(dá)式的一般形式是:"表達(dá)式1,表達(dá)式2,……,表達(dá)式n",它的值是取表達(dá)式n的值。
逗號(hào)運(yùn)算符的用途僅在于解決只能出現(xiàn)一個(gè)表達(dá)式的地方卻要出現(xiàn)多個(gè)表達(dá)式的問(wèn)題。
例如:
d1,d2,d3,d4
這里d1、d2、d3、d4都是一個(gè)表達(dá)式。整個(gè)表達(dá)式的值由最后一個(gè)表達(dá)式的值決定。計(jì)算順序是從左至右依次計(jì)算各個(gè)表達(dá)式的值,最后計(jì)算的表達(dá)式的值和類型便是整個(gè)表達(dá)式的值和類型。
例3-2
int m, n, min;
int mCount = 0, nCount = 0;
// ...
min = (m < n ? mCount++, m : nCount++, n);
當(dāng)m小于n時(shí),計(jì)算mCount++,m存儲(chǔ)在min中。否則,計(jì)算nCount++,n存儲(chǔ)在min中。
表3-12
類型 運(yùn)算 運(yùn)算符 例子
逗號(hào)運(yùn)算符 逗號(hào)運(yùn)算符 , a=10,11,12
表中例子的結(jié)果是a為12。
除了上面介紹的一些常用的基本運(yùn)算符之外,C++還有一些比較特殊的運(yùn)算符如下:
表3-13
類型 運(yùn)算符 例子
全局變量或全局函數(shù) : :(全局) : : GetSystemDirectory
類中的域變量或函數(shù) : :(類域) CWnd::FromHandle
括號(hào)及函數(shù)調(diào)用 ( ) (a+b)*(a-b)
指針指向的結(jié)構(gòu)或類種的域變量 - > (CWnd *wnd)-> FromHandle
結(jié)構(gòu)或類中的域變量 . (CWnd wnd). FromHandle
數(shù)組下標(biāo)運(yùn)算符 [] nYearsMonthsDays[10][12][366]
內(nèi)存分配運(yùn)算符 new new CWnd
內(nèi)存釋放運(yùn)算符 delete delete (CWnd *wnd)
多個(gè)表達(dá)式可以用逗號(hào)組合成一個(gè)表達(dá)式,即逗號(hào)表達(dá)式。
逗號(hào)運(yùn)算符帶兩個(gè)操作數(shù),返回值是右操作數(shù)。
逗號(hào)表達(dá)式的一般形式是:"表達(dá)式1,表達(dá)式2,……,表達(dá)式n",它的值是取表達(dá)式n的值。
逗號(hào)運(yùn)算符的用途僅在于解決只能出現(xiàn)一個(gè)表達(dá)式的地方卻要出現(xiàn)多個(gè)表達(dá)式的問(wèn)題。
例如:
d1,d2,d3,d4
這里d1、d2、d3、d4都是一個(gè)表達(dá)式。整個(gè)表達(dá)式的值由最后一個(gè)表達(dá)式的值決定。計(jì)算順序是從左至右依次計(jì)算各個(gè)表達(dá)式的值,最后計(jì)算的表達(dá)式的值和類型便是整個(gè)表達(dá)式的值和類型。
例3-2
int m, n, min;
int mCount = 0, nCount = 0;
// ...
min = (m < n ? mCount++, m : nCount++, n);
當(dāng)m小于n時(shí),計(jì)算mCount++,m存儲(chǔ)在min中。否則,計(jì)算nCount++,n存儲(chǔ)在min中。
表3-12
類型 運(yùn)算 運(yùn)算符 例子
逗號(hào)運(yùn)算符 逗號(hào)運(yùn)算符 , a=10,11,12
表中例子的結(jié)果是a為12。
除了上面介紹的一些常用的基本運(yùn)算符之外,C++還有一些比較特殊的運(yùn)算符如下:
表3-13
類型 運(yùn)算符 例子
全局變量或全局函數(shù) : :(全局) : : GetSystemDirectory
類中的域變量或函數(shù) : :(類域) CWnd::FromHandle
括號(hào)及函數(shù)調(diào)用 ( ) (a+b)*(a-b)
指針指向的結(jié)構(gòu)或類種的域變量 - > (CWnd *wnd)-> FromHandle
結(jié)構(gòu)或類中的域變量 . (CWnd wnd). FromHandle
數(shù)組下標(biāo)運(yùn)算符 [] nYearsMonthsDays[10][12][366]
內(nèi)存分配運(yùn)算符 new new CWnd
內(nèi)存釋放運(yùn)算符 delete delete (CWnd *wnd)

