看板 C_and_CPP 關於我們 聯絡資訊
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 問題(Question): 最近看書一直看得不懂 很混亂 想問一下 究竟const int 和 static const int有什麼不同呢 在class中究竟為什麼要用static的data 他的用意是什麼煩請大家指教 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.24.48
diabloevagto:依照同一個class產生的實體如果要共用就要用static 12/24 11:49
diabloevagto:http://ppt.cc/hZCr 12/24 11:50
那要是我現在要在class中宣告一個動態的陣列 那這個陣列的size 是應該宣告成 const int 還是 static const int呢 並且static const int 的資料可以動態給值嗎? ※ 編輯: steve1012 來自: 140.112.24.48 (12/24 12:10)
VictorTom:static在class data member上指得是該class的所有 12/24 14:42
VictorTom:instance都會share同樣一份data; const則是指明這個data 12/24 14:43
VictorTom:一經init之後就不(能)再做改變. 你需要自己想一想你所說 12/24 14:43
VictorTom:的size的特性, 來決定到底要用怎樣的宣告.... 12/24 14:44
diabloevagto:簡單來說static是所有的都共用同一筆資料,假如你想 12/24 19:34
diabloevagto:一個變動,其他都能讀到變動的資料,就要用static 12/24 19:34
diabloevagto:const就是之後都不會變更才用,如果有機會變更就 12/24 19:34
diabloevagto:能使用const 12/24 19:35
大概了解了謝謝大家 其實我是要寫大數四則運算的class 這邊的問題已經解決了 現在遇到一個新的>< ※ 編輯: steve1012 來自: 220.132.83.187 (12/25 00:35)
Luba:差不多 而且都會被 compiler 最佳化導致不能當參數傳入 12/25 09:11