为什么我们可以在c++;? C++中的P> SRAND(时钟()) 我以前做过一个C++课程,在那个课程中我遇到了这个问题,但是我不知道C++中这个函数的真正含义是什么?
SRand是C标准库中定义的函数,并且它是 将随机数生成器设置为某个起始种子 随机数生成器生成子序列数所做的是获取当前输入,并根据当前值应用一些计算 所有具有给定已知起始种子的未来rand()调用实际上都是确定性的。这就是为什么它被称为“伪随机数生成器” 例如,如果每次启动程序时使用srand(100)——并多次输出rand()——每次运行的整个输出都是相同的 clock()函数的作用是以毫秒为单位获取当前时间,并将其用作起始种子 由于当前时间是不断变化的,并且当前时间的毫秒数不容易确定调用操作clock()的精确时间,--这是一种获得“随机”启动种子的好方法 编辑 clock()实际上返回程序所消耗的处理器时间 你可以看看 您需要对“time.h”中定义的time_t time(time_t*timer)小心一点,因为它不能跨平台移植 但是,不建议使用此srand和rand函数,在定义random类的C++11中不推荐使用。您可以在这里查看:为什么我们可以使用srand(clock())?因为为什么我们可以在c++;? C++中的P> SRAND(时钟()) 我以前做过一个C++课程,在那个课程中我遇到了这个问题,但是我不知道C++中这个函数的真正含义是什么?,c++,c++11,visual-c++,c++-cli,c++builder,C++,C++11,Visual C++,C++ Cli,C++builder,SRand是C标准库中定义的函数,并且它是 将随机数生成器设置为某个起始种子 随机数生成器生成子序列数所做的是获取当前输入,并根据当前值应用一些计算 所有具有给定已知起始种子的未来rand()调用实际上都是确定性的。这就是为什么它被称为“伪随机数生成器” 例如,如果每次启动程序时使用srand(100)——并多次输出rand()——每次运行的整个输出都是相同的 clock()函数的作用是以毫秒为单位获取当前时间,并将其用作起始种子 由于当前时间是不断变化的,并且当前时间的毫秒数不容易确定调用操作
C++继承了C标准库。尝试
man srand
。。。不确定你所说的“时钟”是什么意思,你指的是std::chrono::*\u clock
?@rmccabe3701 OP更可能指
标题中的clock
。请注意,rand
(因此srand
)是不推荐的。改用从C++11开始的
。