是否有任何保证的默认值Result函数的变量,如 0、'' 或 nil?或者应该Result使用前总是要初始化吗?
我有一个函数返回这样的字符串:
function Foo(): String
begin
while {...} do
Result := Result + 'boingbumtschak';
end;
它工作得很好,但现在我得到了一些包含先前调用该函数的内容的字符串。当我添加一个Result := ''
一开始,还可以。我什么时候应该初始化Result
变量,什么时候我不需要? (字符串、基元、类实例 (nil))
函数返回值类型string
实际上被编译器视为隐式 var 参数。当函数开始执行时,Result
变量包含局部变量中的任何内容,返回值随后将分配给该局部变量。
因此,您应该始终初始化函数返回值。此建议不仅适用于字符串,而且适用于所有数据类型。
昨天在 Stack Overflow 上讨论了这个问题:
我需要在初始化时设置动态数组吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)