delphi - 为什么randseed(randomize)默认不初始化?

标签 delphi

为什么randseed ,用于随机数的变量,我们必须通过调用 randomize 自己初始化不是 至少 程序启动时默认由delphi初始化?如果没有这个重要的初始化(前用户忘记调用 randomize),随机输出是完全可以预测的。我只是好奇他们是否有这种行为的任何原因......

最佳答案

你的观点很有道理。但是,可以为一百个其他初始化进行类似的论证,如果程序执行,这些初始化可以在开始时方便地为您完成。

由于 Delphi 是一种通用语言,它不能对您希望您的代码做什么做任何假设。与所有其他初始化一样,为随机发生器播种需要几个计算周期,无论它们对于您的用例来说多么理想和明智。

至于这种特殊情况:可以想象一些场景,其中确实希望随机发生器从系统时间播种,以便为测试设置可重复的 if 数字。当然,100 个案例中的 99 个都方便,但不是全部。

关于delphi - 为什么randseed(randomize)默认不初始化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51640433/

相关文章:

delphi - TIdHTTPServer 放置在 DLL 中时卡在 Free() 上

delphi - 如何将选中属性设置为自定义样式的 TListBox?

delphi - GExperts 的收藏夹文件可以使用相对路径吗?

android - 如何从命令行编译 APK?

Delphi 访问修饰符

delphi - DataSetProvider - DataSet 到 ClientDataSet

delphi - 在热敏纸上打印的正确字体是什么?

delphi - 如果 RLink32 失败,如何链接巨大的 Res

delphi - 函数指针 - 初始值

delphi - Spring4d : Automatic factory with Owner : TComponent parameter?