这个bug把我整不会了,类的方法result出现缓存
delphi吧
全部回复
仅看楼主
level 8
result没有初始化,result会有缓存
2022年12月21日 07点12分 1
level 4
有啥问题??
2022年12月21日 10点12分 3
result不是每次调用都初始值为空吗,为什么是记录上次的值
2022年12月22日 02点12分
@金陵十三猜 你写循环里了,
2023年05月15日 10点05分
level 8
上面措词引起一些误会
2022年12月22日 07点12分 5
多了解一下语言特性,delphi对于局部变量压栈是不会初始化内存的,只会分配一个指针,出栈的时候,也不会处理内存里面的数据。不仅仅是Result里面,包括你定义的 i,AListStr都会有意想不到的内容在里面;只有定义全局变量的时候,delphi才会初始化分配的内存。
2022年12月23日 05点12分
就好像你用GetMem分配一块内存,得到的就是申请到的内存指针,里面内容随机的,你用New,就会帮你初始化内存为$00;遇到的问题多了,你才会慢慢的去深入了解。所以为什么有人一个语言用了10年只能是说熟练,不敢说精通。
2022年12月23日 05点12分
@ayi033 学习到了,一直以为局部变量会初始化
2022年12月23日 08点12分
level 14
加个赋值就好了
2023年07月03日 18点07分 6
1