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应该是弱类型吧。大家以为呢?这个问题有定论吗?网上查了半天,没有确切的说法。

解决方案 »

  1.   

    http://www.vbgood.com/viewthread.php?tid=67059&highlight=
      

  2.   

    http://topic.csdn.net/u/20080308/22/63ADA7CB-2CC5-4E7E-9929-3170F5879EA8.html
      

  3.   

    VB既可说是强类型语言,也可以说是弱类型语句(自动类型转换、通用数据类型、后关联...,为了兼容VBScript、VBA等子语句集),关键看你怎么使用。
      

  4.   

    http://zhidao.baidu.com/question/39168293.html
      

  5.   

    VB属于弱类型语言。强类型语言根本不会有自动转换的过程。VB的程序有时会包含类型转换的过程,这个转换过程与OLE Automation引用库有关。你可以这样理解,VB中的数据类型都是Variant类型(一种结构体),于是各类型之间有很多共性,类型转换也就可以自动进行了。这个Variant类型用起来蛮方便,但同时也导致了运行效率不高的问题。
      

  6.   

    VB是提供了类型检查机制的,在代码中可以选择性的使用这个机制,比如ByRef时传递的参数类型就必须一致,ByVal则不必一致.
    而C的类型检查是强制性的,这在提高了安全性的同时增加了代码的复杂度(使用起来不方便,转换必须要显式地进行).要注意一点:
    VB6提供了很强的灵活性和便利性,因此写出的代码很简洁.
    但这种灵活性不能被滥用,否则肯定会导致效率低下.
    所以在一般情况下应该尽量使用有特定类型的数据.至于转换效率的方面,我想应该是差不多的,因为C要转换类型的话同样需要调函数.