如题,请问delphi中有引用吗?
比如 :
DataSpace& operator=( const DataSpace& rhs );
用delphi怎么表示呢?

解决方案 »

  1.   

    Delphi中有“引用计数”的概念,VC中的引用只是一个传地址的概念吧,这个Delphi也可以啊。
      

  2.   

    引用就是地址,可以使用指针或者var
      

  3.   

    d中没有严格c++引用的概念,引用c++肯定是做过优化的,好像它没有地址,所以作为参数速度是最快的。但实际完全可以用指针替代。你那行语句重载了运算符,是无法在d中实现的。
      

  4.   

    delphi中是有引用的 但不知道你所讲的引用是指哪个 建议给出上下文 大家好分析
      

  5.   

    delphi 可没有操作符重载的 
      

  6.   

    c++的引用就是传址但不用写成指针
    delphi的参数前加var,就是这种效果:实际传址,但是代码不用写成指针
      

  7.   


    D2010已经有运算符重载了,可惜不能对赋值(:=)进行重载,不过可以考虑重写Assign来实现类似上面的功能,代码如下:type
      TDataSpace = class(TPersistent)
      public
        procedure Assign(Source: TPersistent); override;
      end;然后,在Assign的实现中实现赋值的逻辑。注:在Delphi中,类(class)的赋值(直接通过:=)是指针传递的,因此,本质上和引用没差别了,呵呵。
      

  8.   

    它是类DataSpace的一个public成员,它的定义是这样的:
    DataSpace& DataSpace::operator=( const DataSpace& rhs )
    {
        if (this != &rhs)
            copy(rhs);
        return(*this);
    }