为什么randseed
,用于随机数的变量,我们必须通过调用 randomize
自己初始化不是 至少 程序启动时默认由delphi初始化?如果没有这个重要的初始化(前用户忘记调用 randomize),随机输出是完全可以预测的。我只是好奇他们是否有这种行为的任何原因......
最佳答案
你的观点很有道理。但是,可以为一百个其他初始化进行类似的论证,如果程序执行,这些初始化可以在开始时方便地为您完成。
由于 Delphi 是一种通用语言,它不能对您希望您的代码做什么做任何假设。与所有其他初始化一样,为随机发生器播种需要几个计算周期,无论它们对于您的用例来说多么理想和明智。
至于这种特殊情况:可以想象一些场景,其中确实希望随机发生器从系统时间播种,以便为测试设置可重复的 if 数字。当然,100 个案例中的 99 个都方便,但不是全部。
关于delphi - 为什么randseed(randomize)默认不初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51640433/