最近2018中文字幕在日韩欧美国产成人片_国产日韩精品一区二区在线_在线观看成年美女黄网色视频_国产精品一区三区五区_国产精彩刺激乱对白_看黄色黄大色黄片免费_人人超碰自拍cao_国产高清av在线_亚洲精品电影av_日韩美女尤物视频网站

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

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
C++如何設(shè)計(jì)并構(gòu)建不變量

這篇文章主要講解了“C++如何設(shè)計(jì)并構(gòu)建不變量”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“C++如何設(shè)計(jì)并構(gòu)建不變量”吧!

你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事成都做網(wǎng)站、網(wǎng)站設(shè)計(jì)、企業(yè)網(wǎng)站建設(shè)、成都做手機(jī)網(wǎng)站、網(wǎng)頁(yè)設(shè)計(jì)、高端網(wǎng)站設(shè)計(jì)、網(wǎng)頁(yè)制作、做網(wǎng)站、建網(wǎng)站。成都創(chuàng)新互聯(lián)擁有實(shí)力堅(jiān)強(qiáng)的技術(shù)研發(fā)團(tuán)隊(duì)及素養(yǎng)的視覺(jué)設(shè)計(jì)專才。

E.4:圍繞不變量設(shè)計(jì)錯(cuò)誤處理策略

Reason(原因)

To use an object it must be in a valid state (defined formally or informally by an invariant) and to recover from an error every object not destroyed must be in a valid state.

為了使用對(duì)象,它一定要處于有效狀態(tài)(通過(guò)不變量形式化或非形式化定義)并且為了從錯(cuò)誤中恢復(fù),所有沒(méi)有銷毀的對(duì)象必須處于有效狀態(tài)。

Note(注意)

An invariant is a logical condition for the members of an object that a constructor must establish for the public member functions to assume.

不變量是一個(gè)適用于對(duì)象成員的邏輯條件,這個(gè)條件必須有構(gòu)造函數(shù)建立,可以作為公有成員函數(shù)的前提條件。

E.5: Let a constructor establish an invariant, and throw if it cannot

E.5:讓構(gòu)造函數(shù)建立不變量,如果不能就拋異常

Reason(原因)

Leaving an object without its invariant established is asking for trouble. Not all member functions can be called.

建立一個(gè)對(duì)象卻沒(méi)有建立不變量是在找麻煩。不是所有成員函數(shù)都是可以被調(diào)用的。

Example(示例)

class Vector {  // very simplified vector of doubles    // if elem != nullptr then elem points to sz doublespublic:    Vector() : elem{nullptr}, sz{0}{}    Vector(int s) : elem{new double[s]}, sz{s} { /* initialize elements */ }    ~Vector() { delete [] elem; }    double& operator[](int s) { return elem[s]; }    // ...private:    owner elem;    int sz;};

類不變量-這里通過(guò)注釋聲明-通過(guò)構(gòu)造函數(shù)建立了。如果不能分配要求的內(nèi)存,new操作會(huì)拋出異常。運(yùn)算符,特別是下標(biāo)運(yùn)算符依靠不變量。參見(jiàn):如果不能構(gòu)建有效的對(duì)象,就拋出異常。

Enforcement(實(shí)施建議)

Flag classes with private state without a constructor (public, protected, or private).

標(biāo)記那些沒(méi)有構(gòu)造函數(shù)(公有的,私有的或保護(hù)的)卻有私有成員的類。

感謝各位的閱讀,以上就是“C++如何設(shè)計(jì)并構(gòu)建不變量”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)C++如何設(shè)計(jì)并構(gòu)建不變量這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


網(wǎng)站標(biāo)題:C++如何設(shè)計(jì)并構(gòu)建不變量
本文URL:http://fisionsoft.com.cn/article/jgoegh.html