Re: [問題] static、const、#define

看板C_and_CPP作者 (鈴語)時間14年前 (2010/03/04 17:55), 編輯推噓3(304)
留言7則, 4人參與, 最新討論串2/2 (看更多)
※ 引述《jack58 (願主陪著你)》之銘言: : 我想問一個問題 : 就是const、static和使用 #define 某A 某數 : 他們的差別在哪裡? : 感覺他們的功能很像 可是我卻說不出他們的差別= =a : 是否能麻煩高手說明一下它們之間的差別 借標題問一下 以前學C/C++時,在取代#define時,常常會寫成static const 最近卻聽同事說,這種case寫const其實就可以了,不需要加上static 依照我的看法,寫在class內時如果加上static 在有許多instance時,應該是比較省記憶體的做法 但跟同事討論之後,也沒討論出甚麼結論... 不知道大家對於這種case都怎麼處理? 只寫const? @@a -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.67.30.1 ※ 編輯: holyspectral 來自: 203.67.30.1 (03/04 18:19)

03/04 18:36, , 1F
你同事說的應該是全域的物件吧, 是可以不用static沒錯
03/04 18:36, 1F

03/04 18:37, , 2F
你選擇static field也沒錯, 但是最省空間還是列舉型態
03/04 18:37, 2F

03/04 19:03, , 3F
不加 static 的 global const 變數
03/04 19:03, 3F

03/04 19:03, , 4F
在 C 裡面是 external linkage 在 C++ 是 internal linkage
03/04 19:03, 4F

03/04 22:48, , 5F
17489 有問過 compiler會加static吧
03/04 22:48, 5F

03/05 11:05, , 6F
寫在class裡面不會自動加static吧...
03/05 11:05, 6F

03/06 02:29, , 7F
喔你說class 內喔 不加static不是就很多份嗎
03/06 02:29, 7F
文章代碼(AID): #1BZuEZdm (C_and_CPP)
文章代碼(AID): #1BZuEZdm (C_and_CPP)