gpt4 book ai didi

delphi - Delphi中 'Result'的默认值是多少?

转载 作者:行者123 更新时间:2023-12-03 14:36:52 25 4
gpt4 key购买 nike

函数的 Result 变量是否有任何保证的默认值,例如 0、'' 或 nil?或者结果应该在使用前初始化?

我有一个函数返回这样的字符串:

function Foo(): String
begin
while {...} do
Result := Result + 'boingbumtschak';
end;

它工作得很好,但现在我得到了一些包含先前调用该函数的内容的字符串。当我在开头添加 Result := '' 时,就可以了。什么时候应该初始化 Result 变量,什么时候不需要? (字符串、基元、类实例(nil))

最佳答案

string 类型的函数返回值实际上被编译器视为隐式 var 参数。当函数开始执行时,Result 变量包含局部变量中的所有内容,返回值随后将分配给该局部变量。

因此,您应该始终初始化函数返回值。此建议不仅适用于字符串,而且适用于所有数据类型。

昨天,Stack Overflow 上讨论了这个问题:

Do I need to setLength a dynamic array on initialization?

关于delphi - Delphi中 'Result'的默认值是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5336863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com