推 hilorrk:但是已宣告的array不能用動態配置吧? 08/19 20:57
→ james732:這種用法在C++似乎行不通了? 08/19 21:01
推 VictorTom:它不是針對array[0]重新做動態配置, 而是那個array[0]的 08/19 21:15
→ VictorTom:宣告會放struct head的最後, 直接相當於銜接struct data 08/19 21:15
→ VictorTom:的頭; 不另外用void*或char*的好處事它不用佔用空間:) 08/19 21:16
→ james732:咦 所以char*會佔一個指標的空間 但是char[0]不會? 08/19 21:16
推 VictorTom:是的:) 小弟隨手用DevC++測, 應該C++還是可以用的喔.... 08/19 21:19
→ VictorTom:那個array[0]認知上要當作它是定位/位移用的也OK吧我想. 08/19 21:19
推 VictorTom:印象中常用的地方像網路封包, 用法就像回文的L大寫的那 08/19 21:22
→ VictorTom:樣, 在AdditionalBytes的範圍內, 可以直接用array[N] :) 08/19 21:22
推 littleshan:C++ 標準規定陣列大小必須大於零 08/20 02:03
→ littleshan:g++ 加上 -pedantic 參數後就會報錯了 08/20 02:05
推 VictorTom:原來如此, 謝謝l大:) 08/20 02:41
推 ledia:其實也有一些是放 char[1] 的 08/20 14:00
推 su31o4gj83:不太懂為什麼會需要用到這種技巧 @@ 08/20 14:07
→ VictorTom:方便吧, 而且掛pointer的話還得分兩次malloc空間XD 08/20 14:10
推 ledia:避免 shallow copy 的問題 ? i guess 08/20 14:10
推 VictorTom:一直都不知道shallow/deep copy這組術語....Orz 08/20 14:13
→ tinlans:C99 新的寫法已經可以直接留空了,寫 [] 表示它是彈性陣列 08/20 14:56
→ tinlans:,但限制就是它必須是最後一個 data member。 08/20 14:57