日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
對(duì)C++庫(kù)函數(shù)進(jìn)行學(xué)習(xí)探索總結(jié)筆記

C++庫(kù)函數(shù)作為一個(gè)高效的.NET程序語(yǔ)言。其混合了函數(shù)語(yǔ)言和物件導(dǎo)向程序編制語(yǔ)言,并且***的適用于編程、算法、技術(shù)和探索性開發(fā),因此可以在使用的過(guò)程當(dāng)中感受到趣味性和吸引力。

創(chuàng)新互聯(lián)建站專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作、茄子河網(wǎng)絡(luò)推廣、小程序設(shè)計(jì)、茄子河網(wǎng)絡(luò)營(yíng)銷、茄子河企業(yè)策劃、茄子河品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)建站為所有大學(xué)生創(chuàng)業(yè)者提供茄子河建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:www.cdcxhl.com

rand()產(chǎn)生“偽隨機(jī)數(shù)”的原理是:給定數(shù)x(如果調(diào)用者未指定,則使用默認(rèn)值),通過(guò)固定的計(jì)算公式1返回一個(gè)數(shù)y,這個(gè)數(shù)y就是所謂的偽隨機(jī)數(shù);同時(shí)通過(guò)固定的計(jì)算公式2,修改x,這樣下次調(diào)用rand()時(shí)就會(huì)得到一個(gè)新的y。通過(guò)上面這兩步,反復(fù)調(diào)用rand()會(huì)得到一個(gè)所謂的“偽隨機(jī)數(shù)”的序列。

因?yàn)閮蓚€(gè)計(jì)算公式是固定的,所以只要X1相同,那么產(chǎn)生的序列就相同。X1成為種子,seed。
如果調(diào)用者不指定種子,C++語(yǔ)言的rand()會(huì)使用默認(rèn)值。設(shè)置種子使用srand(unsigned int)函數(shù),這個(gè)函數(shù)的名字的***個(gè)字母s就是seed的意思。

因?yàn)闀r(shí)間的唯一性和一維性,所以可以用系統(tǒng)時(shí)間來(lái)作為種子。這樣可以保證每次運(yùn)行時(shí),rand()產(chǎn)生的序列都是不同的。在使用rand()前,以如下方式設(shè)置種子即可,
srand((unsigned int) time(0));

下面是《C Programming Language》中給出的rand()和srand()的一種實(shí)現(xiàn),可能是早期C++的庫(kù)函數(shù)的實(shí)現(xiàn)。

 
 
 
  1. int rand(void) {  
  2.   nextnext = next * 1103515245 + 12345;  //修改next的值  
  3.   return (unsigned int) (next/65536) % 32768;  //得到偽隨機(jī)數(shù)在0~32768之間  
  4. }  
  5.  
  6. void srand(unsigned int seed) {  
  7.   next = seed;   //設(shè)置種子  

也就是說(shuō),隨便你拿起哪本C++書籍(包括很多被人們廣泛稱為“必讀經(jīng)典”的),那么有很大的可能這本書中的內(nèi)容不是你應(yīng)該學(xué)的,而是你不應(yīng)該學(xué)的。我之所以這么說(shuō)有兩個(gè)原因,因?yàn)橐?,我曾?jīng)是受害者。二,也是更實(shí)質(zhì)性的原因,這些所謂的必讀經(jīng)典。

充斥的是介紹C++中的陷阱和對(duì)于C++庫(kù)函數(shù)的缺陷的各種workarounds(好聽一點(diǎn)叫Idioms(慣用法)或techniques(技術(shù)));又因?yàn)镃++中的這類陷阱和缺陷實(shí)在數(shù)不勝數(shù),所以就拉出了一個(gè)“長(zhǎng)尾”;這類書籍在所有語(yǔ)言中都存在(“C缺陷和陷阱”、“Effective Java”、“Effective C#”等等)。#t#

然而在C++庫(kù)函數(shù)里面這個(gè)尾巴特別長(zhǎng),導(dǎo)致這類書數(shù)不勝數(shù)。三,這些書中列出來(lái)的缺陷和陷阱根本不區(qū)分常見程度,對(duì)于一個(gè)用本程序員來(lái)說(shuō),應(yīng)該希望看到“從最常見的問(wèn)題到最不常見的問(wèn)題”這樣的順序來(lái)羅列內(nèi)容,然而這些書里面要么全部混在一起。

要么按照“資源管理、類設(shè)計(jì)、泛型”這樣的技術(shù)分類來(lái)介紹內(nèi)容,這根本毫無(wú)幫助(如果我看到一個(gè)章節(jié)的內(nèi)容,我當(dāng)然知道它講的是類設(shè)計(jì)還是資源管理,還用廢話么?),使得一個(gè)學(xué)習(xí)者無(wú)法辨別并將最重要的時(shí)間花在最常見的問(wèn)題之上。


文章名稱:對(duì)C++庫(kù)函數(shù)進(jìn)行學(xué)習(xí)探索總結(jié)筆記
鏈接分享:http://www.dlmjj.cn/article/coocodh.html