O-C相关-08-动态类型与静态类型
08-動態類型與靜態類型
?
1, 什么是動態類型和靜態類型
?
1) 動態語言
又叫動態編程語言,是指程序在運行時可以改變其結構:新的函數可以被引進,已有的函數可以被刪除等在結構上的變化。比如眾所周知的ECMAScript(JavaScript)便是一個動態語言。除此之外如Ruby、Python等也都屬于動態語言,而C、C++等語言則不屬于動態語言。
而其實我們平時說的“動態語言”應該指的是“動態類型語言”。至少我之前一直是這么認為的。
?
2) 動態類型語言
在運行時確定類型的語言。
即編譯時與類型無關。一般在變量使用之前不需要聲明變量類型,而變量的類型通常是由被賦的值的類型決定。?如php、Python和Ruby。
?
3) 靜態類性語言
與動態類型語言正好相反,在編譯時,便需要確定類型的語言。即寫程序時需要明確聲明變量類型。如C/C++、Java、C#等。
對于動態語言與靜態語言的區分,套用一句流行的話就是:Statictyping when possible, dynamic typing when needed。
?
4) 強類型語言
強制數據類型定義的語言。也就是說,一旦一個變量被指定了某個數據類型,如果不經過強制轉換,那么它就永遠是這個數據類型了。
強類型定義語言是類型安全的語言。
?
5) 弱類型定義語言
數據類型可以被忽略的語言。它與強類型定義語言相反, 一個變量可以賦不同數據類型的值。
強類型定義語言在速度上可能略遜色于弱類型定義語言,但是強類型定義語言帶來的嚴謹性能夠有效的避免許多錯誤。
版權聲明:本文為博主原創文章,未經博主允許不得轉載。
轉載于:https://www.cnblogs.com/wahy/p/4817237.html
總結
以上是生活随笔為你收集整理的O-C相关-08-动态类型与静态类型的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【光学】基于Matlab模拟光流场
- 下一篇: 列出C#进程以及详细信息