看板 PLT 關於我們 聯絡資訊
請問我唸書時念到有關於強型態語言的定義,擷取部分內容如下: 強勢型態程式語言符合下列要求: 1. 每一個變數都靜態地繫結到單一資料型態 2. 變數資料型繫結後,在程式執行過程不能修改其資料型態 3. 當允許一個變數儲存不同資料型態之值時,其值的型態可以靜態地或動態地檢查出來 4..... 5.... 請問這1、2點和第3點不是互相矛盾嗎?前2點說一個變數只能是單一資料型態, 且型態不能修改,第3點又說允許一個變數存不同資料型態 請問有誰可以告訴我呢? 關於第3點可否舉例讓我明白呢? 感激不盡… -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.232.225.26 ※ 文章網址: https://www.ptt.cc/bbs/PLT/M.1484832854.A.282.html
CoNsTaR: 1. 在有 subtyping 的情況下是不對的 01/19 23:15
CoNsTaR: 例如數字 2 是 Integer 也是 Number 01/19 23:15
CoNsTaR: 2. 在 type 是 first-class value 的語言中是不對的 01/19 23:15
CoNsTaR: 3. 我猜他指的是類似 C 語言的 union 的東西 01/19 23:15
CoNsTaR: 維基百科說強、弱型別沒有明確的定義 01/19 23:21
CoNsTaR: 不過我私心認為會在編譯時期做 type check 的語言就屬於 01/19 23:21
CoNsTaR: 強型別了 01/19 23:21
CoNsTaR: 我發現我回錯版了 我以為這是 C 版 orz 01/19 23:45
CoNsTaR: 那 3. 指的應該是 Haskell 的 either 吧~ 01/19 23:45
cass: 符合123的例子就是指向base class的pointer或reference(c++) 06/23 13:37