作者holyspectral (鈴語)
看板C_and_CPP
標題Re: [問題] static、const、#define
時間Thu Mar 4 17:55:44 2010
※ 引述《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