zoukankan      html  css  js  c++  java
  • 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) 弱类型定义语言

    数据类型可以被忽略的语言。它与强类型定义语言相反, 一个变量可以赋不同数据类型的值。

    强类型定义语言在速度上可能略逊色于弱类型定义语言,但是强类型定义语言带来的严谨性能够有效的避免许多错误。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
    linux命令学习7-jstat命令
    linux命令学习6-dpkg命令
    PSSH 批量管理服务器
    堆排序 (Heap Sort)
    极客时间-左耳听风-程序员攻略-程序员修养
    应急响应-GHO提取注册表快照
    nc替代技术方案
    从无文件技术到使用隐写术:检查Powload的演变
    CVE-2019-0797漏洞:Windows操作系统中的新零日在攻击中被利用
  • 原文地址:https://www.cnblogs.com/wahy/p/4817237.html
Copyright © 2011-2022 走看看