發(fā)布時(shí)間:
2017
-
01
-
17
控制卡應(yīng)用編程技巧幾招(1) 聲明一下,寫(xiě)下這些編程技巧,即不是什么祖?zhèn)髅丶?,也不是什么必殺招或絕招,在此只為方便同仁們?cè)诰幊炭刂栖浖r(shí),對(duì)此可以進(jìn)行適當(dāng)?shù)恼遄?。以下展現(xiàn)的編程思想及奉上的源代碼都非常簡(jiǎn)易,但并不是隨手寫(xiě)寫(xiě),可都是經(jīng)過(guò)實(shí)踐的。若沒(méi)有成功經(jīng)驗(yàn)作后盾,我也就沒(méi)有必要在此打字練五筆了。 事實(shí)上,正如一個(gè)編程大師所言(Michael Abrash),當(dāng)你的軟件正常而且有效率的運(yùn)行起來(lái)時(shí),好像一切都是那么顯而易見(jiàn)。故,在此,我仍堅(jiān)持那句編程口號(hào),將事情變得越簡(jiǎn)單越好,越簡(jiǎn)單就越有效率,越穩(wěn)定。 在以下的介紹中,我將盡可能的展示本人的編程思想,最大可能的給出知其然也知其所然的解釋。若你有更好的見(jiàn)解,希望能得到你的指正。人長(zhǎng)大了明顯標(biāo)志就是變得不太負(fù)責(zé),而且不敢承認(rèn)自己還需要努力,害怕面對(duì)自己的錯(cuò)誤。若是這樣,放心,我還沒(méi)長(zhǎng)大。因?yàn)槲覠o(wú)法保證我能面面俱到。 關(guān)于源代碼的閱讀,需要讀者有一定的C++編程基礎(chǔ),至少對(duì)以下表示形式不會(huì)產(chǎn)生誤解: const char *pString; //指定pString邦定的數(shù)據(jù)不能被修改 char * const pString; //指定pString的地址不能被修改 const char * const pString; //含上面兩種指定功能 當(dāng)然,隨便提醒一下,這些源代碼若需要加入你的軟件工程當(dāng)中,還需要作一些調(diào)整和修改,因此,這些源代碼實(shí)質(zhì)上稱(chēng)為偽代碼也可以,之所以展現(xiàn)它們,是讓程序員們有個(gè)可視化的快感,特別是那些認(rèn)為源代碼就是一切的程序員。 同時(shí),為了提高針對(duì)性,大部分控制卡調(diào)用的函數(shù)會(huì)明確指出是邦定哪些卡的,實(shí)際應(yīng)用時(shí),程序員可自行選擇,以體現(xiàn)一下自己的智商是可以寫(xiě)寫(xiě)軟件的。 一、 控制卡類(lèi)的單一實(shí)例實(shí)現(xiàn) 把控制卡類(lèi)作一個(gè)類(lèi)來(lái)處理,幾乎所有C++程序員都為舉雙手表示贊同,故第一個(gè)什么都沒(méi)有的偽代碼就此產(chǎn)生,如下表現(xiàn): class CCtrlCard { public: …Function public: …attrib } 于是,用這個(gè)CctrlCard可以產(chǎn)生n多個(gè)控制卡實(shí)例,只要內(nèi)存足夠。然而,針對(duì)現(xiàn)實(shí)世界,情況并不那么美好。通常情況下,PC機(jī)內(nèi)只插同種類(lèi)型的...