看板 C_and_CPP 關於我們 聯絡資訊
遇到的問題: (題意請描述清楚) 這是在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