正文

回到頂部

1. 你需要重視類(lèi)的設(shè)計(jì)

c++同其他面向?qū)ο缶幊陶Z(yǔ)言一樣,定義了一個(gè)新的類(lèi)就相當(dāng)于定義了一個(gè)新的類(lèi)型(type),因此作為一個(gè)c++開(kāi)發(fā)人員,大量時(shí)間會(huì)被花費(fèi)在擴(kuò)張你的類(lèi)型系統(tǒng)上面。這意味著你不僅僅是一個(gè)類(lèi)的設(shè)計(jì)者同時(shí)是一個(gè)類(lèi)型設(shè)計(jì)者。重載函數(shù)和運(yùn)算符,控制內(nèi)存分配和釋放,定義對(duì)象初始化和終結(jié),這些都是你需要考慮的。因此你應(yīng)該同語(yǔ)言設(shè)計(jì)者一樣,它們將時(shí)間浪費(fèi)在內(nèi)建類(lèi)型的設(shè)計(jì)上,你就應(yīng)該對(duì)類(lèi)的設(shè)計(jì)施以同樣的關(guān)注。

回到頂部

2. 高效的類(lèi)型的特征

設(shè)計(jì)好的類(lèi)很具有挑戰(zhàn)性,因?yàn)樵O(shè)計(jì)好的類(lèi)型具有挑戰(zhàn)性。好的類(lèi)型有自然的語(yǔ)法,直觀的語(yǔ)義和一種或多種高效的實(shí)現(xiàn)。在c++中,沒(méi)有計(jì)劃好的類(lèi)定義將不能達(dá)到上述任何目標(biāo)。甚至一個(gè)類(lèi)的成員函數(shù)的聲明方式都可能會(huì)影響到成員函數(shù)的性能。

回到頂部

3. 在設(shè)計(jì)一個(gè)類(lèi)時(shí),你需要問(wèn)自己的若干問(wèn)題

因此你怎么才能設(shè)計(jì)一個(gè)高效的類(lèi)呢?首先,你必須理解你所面對(duì)的問(wèn)題。幾乎每個(gè)類(lèi)都需要你面對(duì)下面的問(wèn)題,這些問(wèn)題的答案常常會(huì)約束你的設(shè)計(jì):