在C中使用static
在delphi中用Const来声明

解决方案 »

  1.   

    在C里面,static不是常量的意思,而是静态变量。比如一个函数里面声明的静态变量,
    在两次函数调用之间的值是不会改变的。举个例子:int foo() {
    static int x = 3;
    return x+=3;
    }int main()
    {
      int a, b;
      a = foo();
      b = foo();
    }执行完,a为6,b为9。我是想知道在Delphi中如何实现这样的功能(不用全局变量)。据我所知Const只是声明一个常量的意思,好像没有这样的功能。
      

  2.   

    KXY和FIRE是对的,用CONST不是在PASCAL的首部声明,而是在过程中声明,就象这样:
    procedure someproc();
    const 
      i=0
    bar
      j,k:integer;
    begin
    ...
    end;
    这里的 i  就是一个Static变量,而不是常量,不要被它前面的 const迷惑。object Pascal为什么这样,我也不知道,但确实如此。
      

  3.   

    对不起,上面有一点打错,
    是Var不是Bar, 昨天宿醉未醒
    :)