关于windows下的c++的rand函数详解

rand不是真正的随机函数,是伪随机函数

成都创新互联公司主要从事成都做网站、成都网站建设、网页设计、企业做网站、公司建网站等业务。立足成都服务岳麓,10余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

srand设置随机函数种子

srand设置一个参数后,每调用一次rand产生一个随机数

srand(1000001)

rand  –  21589

rand  –  29335

rand  –  14469

 

srand参数相同,多次调用rand依次返回的值相同,

srand (1000001)

rand  - 21589

srand (1000001)

rand  - 21589

srand (1000001)

rand  - 21589

 

 

srand入参每增加1,rand返回值增加3 (从我的电脑上看到的,其它可能会有不同,不知道)

srand (1000001)

rand  - 21589

srand (1000002)

rand  - 21592

srand (1000003)

rand  - 21595

所以通常来说,一个模块srand一般只调用一次,千万不要在ontimer之类的函数中调用srand和rand

如果只在主线程调用

srand (1000001)

则1:子线程不调用srand, 子线程1,子线程2同时使用主线程的种子,依次产生随机数

则2:子线程1,子线程2,都调用srand (1000001),则子线程1,子线程2,各自产生随机数


分享文章:关于windows下的c++的rand函数详解
文章转载:http://pwwzsj.com/article/ijjepp.html