pcplayer:
动态分配内存N次,导致速度很慢。所以,1不要删除;2必须增加该怎么办呢?
[阅读: 301] 2009-03-20 16:55:08
1. 不要从所有人列表里删除已经抽中的人;
2. 但是,必须把抽中的人添加到中奖名单列表里。假设每次添加,都要自动分配一次内存,你有300个中奖名单,就要重新分配内存300次,当然消耗CPU了。
对于2,最简单的办法就是:你一开始就分配好 300 个名单的内存。
扩展一下:假设不知道中奖名单的总数呢?TStringList 本来就提供了一个办法:每次增加一条的时候,如果需要重新分配内存,它会预分配多一些。多一些是多少呢?它有属性是可以设置的。