在 C++ 中我可以编写这样的函数:
int 测试(参数){
}
返回的值只是一个数字(r值)。但也可以这样做:
int& 测试(参数){
}
在这种情况下,函数返回一个“完整变量”。这意味着返回值不仅仅是像以前那样的值,而是一个具有右值和左值的完整变量。
这在Delphi中可行吗?第一个函数是 function test(params):integer;
但第二个函数呢?
当我尝试实现并行 for 循环时,我看到了类似的东西。看here有一个&
。有引用意义吗?我自己找不到好的答案。
最佳答案
Delphi 不像 C++ 那样支持按引用返回语义。唯一可用的选项是:
返回指针:
function test(params): PInteger;
使用
var
或out
输出参数:procedure test(params; var output: Integer); procedure test(params; out output: Integer);
关于Delphi 通过引用返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44063984/