作者phdch (好好的生活)
看板C_and_CPP
標題[問題] comma operator(,)關於operator overloading
時間Sun Dec 27 23:51:01 2009
遇到的問題: (題意請描述清楚)
這是在C++ How to Program螞蟻本第五版中的一段話
p569的第一行中間開始
正在講address operator(&)與comma operator(,)的operator overloading
"The comma operator evaluate the expression to its left then the expression
to its right."
請問這段話在講comma operator什麼事情,字都看得懂,卻不明白它的意義?
若以下面來做例子
int a,b,c,*d,&e;
是不是有關係
可以請高手回答一下嗎?
希望得到的正確結果:
無
程式跑出來的錯誤結果:
無
開發平台: (例: VC++ or gcc/g++ or Dev-C++, Windows or Linux)
Dev C++
有問題的code: (請善用置底文標色功能)
--
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.137.88.49
→ iamivers0n:comma operator會回傳右邊的值 ex. (2,3)會回傳3 12/27 23:57
→ iamivers0n:oops, 這段的解釋應該是comma operator是先evaluate 12/28 00:00
→ iamivers0n:","左邊的expression,接著evaluate右邊的 12/28 00:01
推 UNARYvvv:你的例子那個不算 comma operator 12/28 17:02
→ UNARYvvv:(我是指原PO用在宣告時隔開變數的那個不算) 12/28 17:05
推 loveme00835:會循序執行, 從左到右, 回傳最後一個敘述的值 12/28 17:51
→ loveme00835:C++ Gochas 還是 effectve C++ 剛好有談到 12/28 17:51