Delphi通过引用返回值

时间:2017-05-19 07:27:53

标签: delphi

在C ++中我可以写一个这样的函数:

int test(params) { }

返回的值只是一个数字(r值)。但也可以这样做:

int& test(params) { }

在这种情况下,该函数返回一个"完整变量"。这意味着返回的值不仅仅是之前的值,而是具有r值和l值的完全变量值。

Delphi中有可能这样吗?第一个函数是function test(params):integer;,但第二个函数呢?

当我尝试实现并行for循环时,我看到了类似的东西。看here有一个&。它有参考意义吗?我自己找不到一个好的答案。

1 个答案:

答案 0 :(得分:5)

Delphi不支持像C ++那样的返回引用语义。唯一可用的选项是:

  • 返回一个指针:

    function test(params): PInteger;
    
  • 使用varout输出参数:

    procedure test(params; var output: Integer);
    
    procedure test(params; out output: Integer);