閱讀者 四 C 必知必會

2021-09-16 18:24:25 字數 1891 閱讀 5405

【編者按】一本程式語言的好書,倘若能經受住時間的考驗成為經典,那麼它的作者必然是在這門語言浸淫多年達至爐火純青地步的專家級人物。《c++必知必會》的作者stephen c. dewhurst是貝爾實驗室最早的c++程式設計師之一,有著20多年的c++應用經驗。他的履歷與經驗足以讓讀者心生信賴。然而,好的程式設計師不一定能寫出好書。stephen是c/c++ user journal的資深編輯,並擔任了c++ report的專欄作家,這就足夠保證本書的寫作質量。

\u0026#xd;\n

\u0026#xd;\n我讀了很多「條款1,2,3」式的c++指導書,包括《c++必知必會》第一版在內,覺得受益匪淺。不過,是在我具備了一定的c++開發經驗之後重溫這些書籍時才有收穫的感覺。所以,雖然這本書的名字叫「必知必會(common knowledge)」,看起來像是一本基礎入門書,但是我不想推薦給初涉c++的朋友閱讀,我認為它更適合對c++有過一些開發經驗的人士閱讀,一方面大家能夠從書中體會到新鮮的知識並加以實踐,另一方面能夠鞏固和理解已經熟悉的程式設計技巧。

\u0026#xd;\n本書的全部內容是63條c++程式設計經驗和技巧,基於作者stephen c. dewhurst在主持《c++ report》專欄的內容整理而成,這63條內容涉及了c++語言的方方面面,從指標定義到抽象基類,從設計模式到泛型演算法,而且內容難易有別,請大家注意:本書的內容不是由易及難的條款清單,所以看書時不必拘泥於「順序」,選取感興趣的條款閱讀即可。

\u0026#xd;\n具體到各個條款上,有些內容屬於比較基礎的程式設計經驗,如:

\u0026#xd;\n●    5. 引用是別名而非指標

\u0026#xd;\n●    6. 陣列形參

\u0026#xd;\n●    21. 過載與重寫並不相同

\u0026#xd;\n●    24. 成員函式查詢

\u0026#xd;\n●    28.指標比較的含義\u0026#xd;\n

而有一些條款,可能需要慢慢體會,比如:

\u0026#xd;\n●    35. placement new

\u0026#xd;\n●    40. raii(資源獲取即初始化)

\u0026#xd;\n●    47. 模板區域性特化

\u0026#xd;\n●    55. 模板的模板引數

\u0026#xd;\n借用「2/8法則」,20%的基礎條款足夠讓c++開發人員在工作中更進一步了,剩下80%的條款也許等大家在需要高階技巧時再看也不遲。畢竟,不是每一位開發人員都有機會在實際工作當中設計、開發一套模板庫並在operator new上精益求精。

\u0026#xd;\n這本書中,我最喜歡的部分是有關「異常安全」的經驗,因為異常安全處理在程式語言中,看似細枝末節實則關係重大,見微知著。這些經驗是c++語言標準規範和開發社群融合而來的產物,值得學習,比如:

\u0026#xd;\n●    38. 異常安全公理\u0026#xd;\n

1.    異常是同步的,並且只能發生在函式呼叫的邊界。因此,諸如預定義型別的算術操作、預定義型別(尤其是指標)的賦值以及其他底層操作不會導致異常發生(它們可能會導致產生某種訊號或中斷,但這些東西不是異常)。

\u0026#xd;\n2.    物件的銷毀是異常安全的。該公理並非建立於技術基礎之上,而是建立於c++開發社群共識基礎之上。按照慣例,析構函式、operator delete以及operator delete[ ]不會丟擲異常。

\u0026#xd;\n3.    交換操作不會丟擲異常。這同樣是乙個建立於c++社群共識之上的公理,但他的公認度不如「禁止在析構函式中和銷毀物件時丟擲異常」那樣來的廣泛。乍看上去,交換(swap)不是乙個太常見的操作,但是幕後它的使用很廣泛,尤其在stl的實現中。

\u0026#xd;\n

\u0026#xd;\n最後,推薦那些想深入提高c++開發技巧的朋友看一下這本《c++必知必會》第二版中譯本。

mysql必知必會 mysql必知必會(四)

十四 理解子查詢 1 通過子查詢過濾 這本書在所有的章節都關連到了資料庫表,訂單資料是儲存在兩個表中,orders表儲存著 訂單號碼 顧客id和訂單日期。個人的訂單列表關連著orderitems表,訂單表沒有儲存顧客資訊,它只是儲存著顧客id,這實際的顧客資訊是儲存在customers表中。現在假設...

C 必知必會

條款2 多型 2 條款3 設計模式 5 條款4 stl 8 條款5 引用是別名而非指標 10 條款6 陣列形參 13 條款7 常量指標與指向常量的指標 16 條款8 指向指標的指標 19 條款9 新式轉型操作符 21 條款10 常量成員函式的含義 25 條款11 編譯器會在類中放東西 29 條款12...

閱讀《Mysql必知必會》總結

從4月5號到4月15號歷時11天,我看完了這本 mysql必知必會 這是一本講述mysql基 本概念與用法的書,雖然十分基礎,但是對於從沒有系統性學過資料庫的我來說仍有很 大的幫助。下面我來說說書中的主要內容以及自己的看法。首先講到的是查詢語句,包括檢索 select 排序 order 過濾 whe...