在C ++中我可以写一个这样的函数:
int test(params) {
}
返回的值只是一个数字(r值)。但也可以这样做:
int& test(params) {
}
在这种情况下,该函数返回一个"完整变量"。这意味着返回的值不仅仅是之前的值,而是具有r值和l值的完全变量值。
Delphi中有可能这样吗?第一个函数是function test(params):integer;
,但第二个函数呢?
当我尝试实现并行for循环时,我看到了类似的东西。看here有一个&
。它有参考意义吗?我自己找不到一个好的答案。
答案 0 :(得分:5)
Delphi不支持像C ++那样的返回引用语义。唯一可用的选项是:
返回一个指针:
function test(params): PInteger;
使用var
或out
输出参数:
procedure test(params; var output: Integer);
procedure test(params; out output: Integer);