推 tropical72:寫得比我好多了, 感覺我的連幼幼班都不到, 推一個!! 05/11 03:07
推 dogberter:同班推~XD 05/11 03:37
→ tinlans:可以用 enum 代替 int。 05/11 04:57
推 QQ29:請問為啥要用union 而這樣 不是設定了int string就壞了嗎 05/11 13:30
→ QQ29:喔沒有壞@@只是為啥要union不是很懂 05/11 13:32
推 VictorTom:省空間阿, 他這個用法不是int就是string, 所以另外一個 05/11 13:35
→ VictorTom:不會同時用到, 至少可以省個sizeof(int)的空間XD 05/11 13:35
推 QQ29:但為啥我把這段code改成string的 卻啥都不讓我輸入 跟c不熟.. 05/11 13:36
→ QQ29:應該說我同時 int 在 string 輸入完int後程式就結束了... 05/11 13:37
→ loveme00835:因為緩衝區裡面還有'\n' 05/11 13:42
→ loveme00835:'\n'直接讀進string當作字串了 05/11 13:44
推 QQ29:請問哪裡來的\n阿?? 如果改成先string在int就ok耶 不太懂 05/11 13:47
→ loveme00835:你輸入完整數按下的enter, 就讀入'\n' 05/11 13:48
→ QQ29:那反過來 string先輸入 就沒這問題 是為什麼呀 05/11 13:52
→ VictorTom:\n不會被int吃掉, 但是可以被string吃掉啊.... 05/11 13:54
→ loveme00835:因為'\n'放在string的最後面, 你可以試試看, 不過就算 05/11 13:54
→ loveme00835:第二句跟v大一樣 > < 05/11 13:55
推 QQ29:那在問一下那個MAX =20 為啥不用define故意用enum 用意是? 05/11 13:59
→ QQ29:還有sizeof(ObjectType) 為啥是4阿? 05/11 13:59
→ loveme00835:因為define 的常數通常是有一些編譯的前處理要用的, 05/11 14:01
→ loveme00835:像是切換型別的定義等等, 不是專門用來定義數值常數 05/11 14:02
→ loveme00835:ObjectType 底層還是轉換成 int 來實作 05/11 14:03
→ QQ29:可是 為啥不是8...不是有兩個嗎@@ 還是他只是個type@@y 05/11 14:05
→ loveme00835:INTEGER、STRING列舉子是說一個 ObjectType 變數能夠 05/11 14:07
→ loveme00835:擁有的值是這些(多選一), 跟struct不太一樣喔@@ 05/11 14:07
→ VictorTom:你可能要查一下enum是怎麼算sizeof的....@_@" 05/11 14:11
→ VictorTom:不過 MAX_STRING_LENGTH 小弟我的確會考慮用 #define XD 05/11 14:11
→ QQ29:有規定說sizeof 一定要非0嗎 因為我sizeof一個空class也都會 05/11 14:17
→ QQ29:=1.....該怎解釋呀 05/11 14:17
→ james732:記得是為了避免讓兩個不同的 class 有同樣的位置 05/11 14:18
→ loveme00835:想一下: sizeof 回傳如果是零, & 取值該怎麼取呢? 05/11 16:06
推 QQ29:請問love大 什麼&取值~~ 是指什麼意思 05/11 16:45
→ loveme00835:如果我用 QQ *p = new QQ[ 2 ]; 如果sizeof(QQ) 回傳 05/11 17:18
→ loveme00835:是0, 那麼&p[0]跟&p[1]結果就會跟james大講的 → 一樣 05/11 17:19
→ loveme00835:p[0] p[1]反而是同一個物件了 05/11 17:20
→ james732:Inside the c++ object model 有探討這類的問題 05/11 17:21
→ kingofsdtw:好棒的解法Q_Q! 05/11 20:20
推 fish076:推 厲害! 05/12 16:41