时间:2010-07-25 21:43:34

标签: theory callbyname

3 个答案:

答案 0 :(得分:9)

答案 1 :(得分:3)

答案 2 :(得分:1)

当实际参数为 scaler 时,

按名称调用作为按引用调用,但当实际参数为表达式时或数组然后在每次访问时重新评估实际参数。

这是简单的例子

begin
    integer n;
    procedure p(k: integer);
        begin
        print(k);
        n := n+1;
        print(k);
        end;
    n := 0;
    p(n+10);
    end;
  • 按值输出调用=> 10 10
  • 按姓名输出=> 10 11