99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

C++ 牌堆與子牌堆

2023-03-20 16:24 更新

請(qǐng)看函數(shù)findBisect的接口:

int findBisect (const Card& card, const apvector<Card>& deck,int low, int high) {

把三個(gè)參數(shù)deck,low和high看作指定一個(gè)子牌堆的單一參數(shù)是可以說得通的。

這種事情很常見,有時(shí)我把它當(dāng)作抽象參數(shù)。所謂”抽象“,我指的是在更高層次上描述函數(shù),并非程序代碼的字面意思。

例如,當(dāng)以向量以及用以限界的low和high為參數(shù)調(diào)用函數(shù)時(shí),其實(shí)根本沒辦法限制函數(shù)中訪問界限之外的元素。所以我們并沒有像字面上說的那樣傳遞了子牌堆,但是只要被調(diào)函數(shù)按規(guī)矩辦事, 抽象的將參數(shù)當(dāng)做子牌堆是有意義的。

還有一個(gè)例子,你可能已經(jīng)注意到了,在9.3節(jié),我提到“空”數(shù)據(jù)結(jié)構(gòu)時(shí)也用到了這種抽象。“空”上的引號(hào)就是為了提醒讀者,這并非是字面意義上真正的空。所有的變量自始至終都是有值的。創(chuàng)建變量之時(shí),它們會(huì)有默認(rèn)值。所以沒有空對(duì)象這樣的東西。

但是,如果程序確保變量的當(dāng)前值在寫之前從未被讀過,則當(dāng)前值是無意義的值。抽象地講,把這種變量當(dāng)做”空“值是說得通的。

這種思考方式——即程序帶上了超出編碼字面意思之外的意義——是像計(jì)算機(jī)科學(xué)家一樣思考問題的一個(gè)重要部分。有時(shí),”抽象“這個(gè)詞用的太多、太雜,可能難以解釋。盡管如此,抽象仍然是計(jì)算機(jī)科學(xué)(以及很多其他領(lǐng)域)的一個(gè)中心思想。

“抽象”的一個(gè)更一般的定義是“為了抓住重要行為且抑制不必要的細(xì)節(jié),使用簡(jiǎn)單的描述建模復(fù)雜系統(tǒng)的過程”。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)