讀書筆記MoreEffectiveC (35)

2021-07-04 05:36:42 字數 682 閱讀 5006

讓自己習慣使用標準c++語言

1.增加了新的特性:rtti、命名空間、bool,關鍵字mutable 和explicit,對列舉的過載操作,已及在類的定義中初始化const static 成員變數。

2.模板被擴充套件了:現在允許了成員模板,增加了強迫模板例項化的語法,模板函式允許無型別引數,模板類可以將它們自己作為模板引數。

3.異常處理被細化了:異常規格申明在編譯期被進行更嚴格的檢查,unexpected()函式現在可以拋乙個bad_exception 物件了。

4.記憶體分配函式被改良了:增加了operator new和operator delete函式,operator new/new在記憶體分配失敗時將丟擲乙個異常,並有乙個返回為0(不拋異常)的版本供選擇。

5.增加了新的型別轉換形式: static_cast 、dynamic_cast 、const_cast , 和reinterpret_cast。

6.語言規則進行了重定義:重定義乙個虛函式時,其返回值不需要完全的匹配了(如果原來返回基類物件或指標或引用,派生類可以返回派生類的物件、指標或引用),臨時物件的生存期進行了精確地定義。

7.在轉為模板時,注意我們由「傳值」改為了「傳const 型引用」。因為現在可以處理任意型別了,我們不得不考慮傳值的代價了。在每次呼叫過程中,每個傳值的引數都要有建構函式和析構函式的開銷。通過傳引用(它不需要構造和析構任何物件),我們避免了這個開銷

mysql運維 讀書筆記 Mysql 讀書筆記

mysql儲存時間有兩種型別 datetime和timestamp。分別說一下兩者的區別。datetime,以8位元組儲存時間,理論上可以從0000年儲存到9999年。並且沒有時區的概念,它儲存的就是乙個時間點的概念。timestamp和datetime最主要的不同就是,它是以4個位元組儲存,由19...

struts in action讀書筆記

struts in action 學習筆記 一 struts的控制流 因為web 應用是動態的,所以很難表現 乙個真正固定的控制流 取決於環境,不同的方式下有很多不同的事情發生 特別是在web 應用中。但是事情仍然有乙個通用的秩序。如果你是個struts,應用框架,甚至web 應用的新手,這些流程剛...

中 斷(讀書筆記)

裝置的中斷會打斷核心中程序的正常排程和執行,系統對更高吞吐率的追求勢必要求中斷服務程式盡可能地短小精悍。但是這個良好的願望往往與現實並不吻合。在大多數的系統中,當中斷到來時,要完成的工作往往並不是短小的,它可能要求進行較大量的耗時處理。為了在中斷執行時間盡可能短和中斷處理需要完成大量工作之前找乙個平...