看板 C_and_CPP 關於我們 聯絡資訊
descent 大大在前面已經講的很清楚了,就當我這篇是幫他補充吧~ 程式執行的時候會有好多種狀態 (state) 凡是可以被你“參數化”的東西都可以看成是 state 例如:值 有些 state 是一定得在 compile-time 決定的 例如:常數(像是編譯日期) 有些 state 則是在 runtime 才能夠決定的 例如:user input 大部分的 state 都是既能夠在 compile-time 決定,也能在 runtime 決定的 為了增進程式的效能,我們會把一些在 compile-time 就能夠決定的 state 紀錄在 type 裡面,成為「型別資訊」 為了讓程式更有彈性,我們會把一些 state 留到 runtime 才決定,當然,有時候型別資 訊也是 runtime 決定的 以 C 語言來說,變數在記憶體中的大小是 compile-time 決定的(大部分情形下) 而且被記錄在型別資訊裡頭,可以利用 sizeof 運算子來向編譯器取得 所以這個數字可能不會存在於已經編譯好的程式中,而只出現在編譯時期 推薦原 Po 可以去了解靜態型別和動態型別的不同,兩者的做法是不同的 要是還有興趣,推薦了解一下 type theory,可以讓你有更高一層的視野 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.205.61 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1474297525.A.691.html ※ 編輯: CoNsTaR (114.33.205.79), 09/20/2016 00:00:27 ※ 編輯: CoNsTaR (114.33.205.79), 09/20/2016 01:43:42
wa007123456: 謝謝你的補充^_^ 09/20 06:56