zoukankan      html  css  js  c++  java
  • 理解 Delphi 的类(十) 深入方法[11] 参数前缀

    //要点11: 参数可以分为: 默认参数(传值)、var(传址)、out(输出)、const(常数)四类
    
    {默认参数是传值, 不会被改变}
    function MyF1(x: Integer): Integer;
    begin
      Inc(x);
      Result := x;
    end;
    
    {var参数是传址, 会被改变}
    function MyF2(var x: Integer): Integer;
    begin
      Inc(x);
      Result := x;
    end;
    
    {out参数是为支持Com的, 和 var 的结果是一样的, 一般我们用不着它}
    function MyF3(out x: Integer): Integer;
    begin
      Inc(x);
      Result := x;
    end;
    
    {const参数是绝对不可以赋值的, 这是被编译器优化的方式, 尽量多用}
    function MyF4(const x: Integer): Integer;
    begin
      //Inc(x); {这句会出错, 因为带 const 前缀的参数是不可以更改的}
      Result := x;
    end;
    
    
    //调用测试
    procedure TForm1.Button1Click(Sender: TObject);
    var
      a: Integer;
    begin
      a := 6; MyF1(a);
      ShowMessage(IntToStr(a));  //6
    
      a := 6; MyF2(a);
      ShowMessage(IntToStr(a));  //7
    
      a := 6; MyF3(a);
      ShowMessage(IntToStr(a));  //7
    
      a := 6; MyF4(a);
      ShowMessage(IntToStr(a));  //6
    end;
    
  • 相关阅读:
    HDU
    HDU
    西电OJ
    西电OJ
    西电OJ
    USACO 2.1-Healthy Holsteins
    USACO 2.1-Sorting a Three-Valued Sequence
    HDU
    UVA
    codeforces 811A Vladik and Courtesy
  • 原文地址:https://www.cnblogs.com/del/p/1038838.html
Copyright © 2011-2022 走看看