強弱 型 別
(重定 向 自 強 型 別 )
解釋
编辑
- 「
我 花 了 幾 個 星 期 …試 著 弄 清楚 「強 型 別 」、「靜態 型 別 」、「安全 」等 術語 ,但 我 發現 這異常 的 困難 …這些術語 的 用法 不盡 相 同 ,所以 也就近 乎無用 。」[1]
強 型 別 在 文獻 中 的 含義
编辑
靜態 型 別 不同 於動態 型 別 。在 靜態 型 別 系統 中 ,型 別 是 與 變數 相 連 繫的名稱 (通常 是 在 声明 時 ),而不是 值(通常 是 在 初 始 化 時 )。型 別 也可藉由編 譯 器 來 推斷 。通 过语言 定 义,对型別 约束违规的 编译时间检查的 托 管 要求 。就是说,编译器 确保操作 只 发生在 对这个运算 有效 的 操作 数 上 。型 別 安全 ;就是说,拒 绝(在 要 么编译时间要么執行 时间)尝试忽 视資料 型 別 的 操作 或 函 式 呼 叫 。在 更 严格的 设置下 ,通 过证明 进行性 和藏 存 性 来 证明关于形式 语言的 型 別 安全 。禁止 型 別 轉換 。某 個 型 別 的 值,不 論 是 不 是 以顯式 或 隱 式 的 方式 ,都 不可 轉換 為 另一 個 型 別 。但 是 某 些作者 ,把 “强 型 別 语言”称呼 保留 给省略 隐式型 別 转换(就是说编译器为了利益 编程者 而插入 的 转换)的 语言。对于这些作者 ,编程语言是 强 型 別 的 ,如果型 別 必须通 过通常 叫 做“强制 ”的 显式符号 来 转换。無 法規 避型別 系統 。某 些語言 允許 程 式 員 取得 值的表示法 之 下 的 東西 (即位 元 模 式 ),這有可能 規 避型別 系統 。有 复合型 別 的 复杂而细致的型 別 系 统。資料 物件 中 固定 且不變 的 型 別 。给定資料 物件 的 型 別 在 这个物件 的 生命 期 内 不 改 变。例 如,类实例 不可 以改变它们的类。在 執行 程 式 之 前 ,強 型 別 就保證 了 執行 時期 的 程 式 行為 ,其以靜態 分析 或 其它的 機 制 提供 。
程 式 語 言 中 的 含義變異
编辑
參 閱
编辑
資料 型 別 ,更 詳 盡 的 型 別 問題
参考 文献
编辑
- ^ 「
強 型 別 」指 的 是 什麼 . [2007-03-30]. (原始 内容 存 档于2007-03-23).