try的英文意思就是嘗試 例如 try to do sth. 意思就是說嘗試著做一些事情,你試著做的時候可能會成功,也可能不成功,成功了最好,但是不成功也沒有事情的,因為畢竟是嘗試嘛.
我覺得老外在c++裡面的異常中使用try這個關鍵字很形象,try這個try塊的意思就是說你試著做大括號裡面的事情,如果出了錯,也沒有關係,就當我們什麼都沒有做過.其實,在這裡try實現了乙個我們生活中不能實現的事情,就是說,一切可以重來,如果當年世界盃上巴喬是在try{}裡面踢那個點球的話,該有多好啊!
而c++是怎麼實現一切可以重來這個目標的呢? 我覺得就是堆疊解退, 當我們開始執行try大括號裡面的**時,肯定會給裡面的變數分配記憶體,如果在執行的時候遇到錯誤,那麼從try左大括號往後分配的記憶體都要收回來.這就相當於什麼都沒發生過一樣.唯一前進的只有時間, 呵呵.
下面我們就用巴喬罰點球這個事作為例子寫個**吧 呵呵
呵呵 寫的例子感覺不太貼切,以後有機會再改吧.
還有乙個小問題就是說,當堆疊解退時,如果需要釋放記憶體的是個物件,並且這個物件裡面有個指標成員,並且指向了new分配的記憶體,那麼,堆疊解退會使這個物件的類的析構函式被呼叫來釋放new分配的記憶體.
對異常類的理解
1.異常分類 異常分為 語法錯誤和異常 語法錯誤 語法錯誤通常自己書寫不規範等造成的規範上的錯誤 異常 異常通常由邏輯上的錯誤而造成的 比方說 除數為0等等 異常處理 while true try 內容except valueerror print your value is error while...
我對補碼的理解
計算機中用補碼表示乙個數是為了方便運算的,這樣減法也可以通過加法來實現。為什麼這樣設計行呢?主要是因為計算機里數的特殊儲存格式決定的,計算機裡用固定位數表示乙個數,超過該位置的部分會被捨棄。拿8byte的int型來說,無符號形式下,最大到1111 1111 255,超過了該範圍,會被截斷的,如 11...
我對SOA的理解
每次給客戶做工作流培訓,都要接觸不同的行業,但我每次都被問了乙個同樣的問題 hongsoft老師,請問應該怎麼理解soa?這個問題其實和工作流培訓關係不大,但現在如火如荼的soa的推廣都和bpel扯上了關係,而bpel又和工作流間 說不清,道不明 所以我還真要說說,我是怎麼理解soa的。7 80年代...