《C++ primer》-這本書很優秀,但不適合入門

網站:https://www.yanbinghu.com/2019/09/15/58540.html

前言

一本合適的入門書能讓你學習的時候信心倍增,如飢似渴,而一本不合適的入門書讓你望而卻步,懷疑人生。

它很優秀

C++相對於其他語言來說,是一門較為複雜的語言,傳言一年精通,三年熟悉,五年瞭解,十年用過。關於C++的言論實在太多,鑑於本人使用年限極短,不多做評價。那麼我們來看看《C++ Primer》(注意,不是C++ primer plus),這本評分9.3分的書,它好在哪裡?在我看來,這幾個方面是非常不錯的:

  • 事無鉅細,從基本類型到字符串,向量和數組,從基本語句到函數;從類到容器,從動態內存到拷貝控制,從面向對象到模板泛型,它幾乎涵蓋了C++的各個方面,這也是為什麼它是一塊大鑽頭的原因之一。
  • 告訴你編譯器怎麼想。例如在介紹類的時候,告訴你編譯器先編譯成員的聲明,然後再編譯成員的函數體。在書中,有很多地方都告訴了你,編譯器是如何做的,除此之外還會告訴你為什麼要這樣做,讓你知其然,更知其所以然。
  • 最佳實踐建議。一般來說,一段代碼,能用就可以了,但為了保證代碼生命力的長久,你必須去了解最佳實踐。例如建議你儘量使用標準庫類型而不是數組類型;儘量避免使用內置數組和指針等。
  • 貼心的注意事項。同樣在書中很多地方告訴你,應該如何避免一些不推薦的操作,例如在說到string的時候,特別說明了字符串字面值與string是不同的類型;在說到命名空間的時候,建議不應該在頭文件中使用using聲明。
  • 一章結尾小結和的術語表。看完這一章了?不如看看最後的小結,看看本章核心內容是什麼?感受到C++的複雜了?看看本章的術語你都瞭解了沒有。
  • 新特性。在第五版中,最後一部分列出了C++11的新特性的索引。可以方便快速的瞭解C++11的新特性。
  • 配套的習題和完整可運行代碼,並且有多種版本。地址:http://www.informit.com/store/c-plus-plus-primer-9780321714114
  • 可以當手冊。當某個特性不是很清楚的時候,拿起來翻翻查看一下。

但不一定適合你

而正由於上面這些特點,它可能不適合初學者,其不適合的原因也非常明顯:

  • 內容過多,讓初學者望而卻步,不知重點。在實踐中,也不必全面地使用C++語言的各種特性
  • 雖然與書配套有完整的代碼,但從書中內容來看,很難清楚書中代碼該如何運行,可操作性對初學者來說難度比較大,也不利於快速上手。
  • 部分內容過深,初學者看的時候不知所云,容易受挫,自我懷疑。很多內容在講解的時候,假設你已經懂了相關的前置知識,然而你可能不懂這些前置知識,到底難以繼續。
  • 第一章從hello world到類,直接上命令行。作為新手的你,可能一臉懵逼。
  • 近千頁,容易變磚

就像《C程序設計語言》一樣,C++ primer並不適合沒有編程基礎的初學者,但是絕對適合任何一位C++學習者一讀再讀。

總結

它很優秀,但不一定適合你。如果你有一定的編程基礎,或者已經通過其他入門書籍學習了C++,那麼建議你直接食用。

再說兩句

  • 如果你閱讀了本書,覺得難,也不要懷疑,因為它不適合初學者
  • 語言特性之外還有諸如編譯鏈接,內存管理等諸多前置知識需要了解。
  • 好不一定適合自己,具體情況具體分析。
  • 以上純屬個人觀點,僅供參考。

不說了,顯示器不夠高了,墊一下。歡迎留言說說你的C++入門書,

關注公眾號【編程珠璣】,獲取更多Linux/C/C++/Python/Go/算法/工具等原創技術文章。後臺免費獲取經典電子書和視頻資源

《C++ primer》-這本書很優秀,但不適合入門


分享到:


相關文章: