Delphi 通过引用返回值

标签 delphi

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

int 测试(参数){ }

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

int& 测试(参数){ }

在这种情况下,函数返回一个“完整变量”。这意味着返回值不仅仅是像以前那样的值,而是一个具有右值和左值的完整变量。

这在Delphi中可行吗?第一个函数是 function test(params):integer; 但第二个函数呢?

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

最佳答案

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

  • 返回指针:

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

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

关于Delphi 通过引用返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44063984/

相关文章:

c# - C#中的Delphi类

delphi - Delphi XE2中调用 "IAudioSessionManager2.GetSessionEnumerator()"时出现异常

Delphi XE 构建事件.. 全局?

delphi - 如何在 Delphi 7 中释放 Windows 句柄指针?

delphi - 如何在 Delphi 中使用 http 身份验证打开 url?

delphi - 小型命令行脚本编写器(如 Autocad 命令)单行编辑器

delphi - 在 OmniXML 的 NodeAttributes 中添加换行符

delphi - 为 firemonkey 移动应用程序定义代码页的目的是什么?

delphi - 如何从 delphi 解析 tnsnames.ora 文件?

xml - 使用 Delphi 使用 AsmXML