弱类型、强类型、动态类型、静态类型

知乎专栏

博客

弱类型、强类型、动态类型、静态类型

(下面是我参考上面两个链接内容做的总结,不一定准确,请参考原链接中的回答)

动态强类型:在运行的时候能够排除所有定义的Forbidden的行为

静态强类型:在编译的时候能够排除所有的Forbidden的行为(报错,不管是trapped还是untrapped)

静态弱类型:在编译的时候进行检查,排除可能出现的forbidden行为,既有可能是trapped,比如缓冲区溢出,也有可能是untraped,比如 int test[] = { 1, 2, 3 }; test[4] = 5;但是可能会出现有些forbidin行为无法检测出的

动态弱类型:运行时检查,同样可能存在无法检测出的行为