看板 C_and_CPP 關於我們 聯絡資訊
※ 引述《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)
loveme00835:你同事說的應該是全域的物件吧, 是可以不用static沒錯 03/04 18:36
loveme00835:你選擇static field也沒錯, 但是最省空間還是列舉型態 03/04 18:37
firose:不加 static 的 global const 變數 03/04 19:03
firose:在 C 裡面是 external linkage 在 C++ 是 internal linkage 03/04 19:03
QQ29:17489 有問過 compiler會加static吧 03/04 22:48
holyspectral:寫在class裡面不會自動加static吧... 03/05 11:05
QQ29:喔你說class 內喔 不加static不是就很多份嗎 03/06 02:29