VB理论上属于强类型语言,还是弱类型呢?

zwth001 2010-08-04 08:53:56
VB理论上属于强类型语言,还是弱类型呢?
----------------------------------------


Private Sub Command1_Click()
Dim str1 As String
Dim i1 As Integer
str1 = "345"
i1 = 1000
Print str1 + i1
Print str1 & i1
End Sub



从理论上说,应该是弱类型吧,不知我理解对不对?
我看书上讲,如果你有
一个整数,如果不显示地进行转换,你不能将其视为一个字符串,必须强制转换,这才是强类型。

但是看vb代码,系统会自动转换,如果是加号,就都转成数字相加,如果是 & ,则都转成字符串,进行相连。
所以我认为,vb应该是弱类型吧。大家以为呢?

这个问题有定论吗?网上查了半天,没有确切的说法。
...全文
437 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
sonic_andy 2010-08-07
  • 打赏
  • 举报
回复
VB是提供了类型检查机制的,在代码中可以选择性的使用这个机制,比如ByRef时传递的参数类型就必须一致,ByVal则不必一致.
而C的类型检查是强制性的,这在提高了安全性的同时增加了代码的复杂度(使用起来不方便,转换必须要显式地进行).

要注意一点:
VB6提供了很强的灵活性和便利性,因此写出的代码很简洁.
但这种灵活性不能被滥用,否则肯定会导致效率低下.
所以在一般情况下应该尽量使用有特定类型的数据.

至于转换效率的方面,我想应该是差不多的,因为C要转换类型的话同样需要调函数.
yy830024 2010-08-06
  • 打赏
  • 举报
回复
学习了。。。。
liguicd 2010-08-06
  • 打赏
  • 举报
回复
弱,很弱...
bcrun 2010-08-06
  • 打赏
  • 举报
回复
请问楼主,什么是"强类型语言"?:)
倒大霉的上帝 2010-08-06
  • 打赏
  • 举报
回复
学习
神马都能聊 2010-08-06
  • 打赏
  • 举报
回复
VB属于弱类型语言。强类型语言根本不会有自动转换的过程。

VB的程序有时会包含类型转换的过程,这个转换过程与OLE Automation引用库有关。你可以这样理解,VB中的数据类型都是Variant类型(一种结构体),于是各类型之间有很多共性,类型转换也就可以自动进行了。这个Variant类型用起来蛮方便,但同时也导致了运行效率不高的问题。
游子 2010-08-06
  • 打赏
  • 举报
回复
上面是老马。。。
我感觉还是技术问题。。。和语言没有关系。。。
嗷嗷叫的老马 2010-08-05
  • 打赏
  • 举报
回复
不知道........没有研究得这么深过......

学习一下.
lyserver 2010-08-04
  • 打赏
  • 举报
回复
VB既可说是强类型语言,也可以说是弱类型语句(自动类型转换、通用数据类型、后关联...,为了兼容VBScript、VBA等子语句集),关键看你怎么使用。

7,784

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧