溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

關于windows下的c++的rand函數詳解

發(fā)布時間:2020-07-17 21:16:04 來源:網絡 閱讀:541 作者:boyka3721 欄目:編程語言

rand不是真正的隨機函數,是偽隨機函數

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,各自產生隨機數



向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI