在C++的開發環境裡,C++庫占有的地位是很高的,在現實生活中,C++庫的種類也非常的廣泛,解決的問題也是因不同的問題制定出不同的解決方案,希望大家能夠切磋學習。
庫從輕量級到重量級的都有。不少都是讓人眼界大開,亦或是望而生歎的思維傑作。由於庫的數量非常龐大,而且限於筆者水平,其中很多並不了解。所以文中所提的一些庫都是比較著名的大型庫。
標准庫
標准庫中提供了C++程序的基本設施。雖然C++標准庫隨著C++標准折騰了許多年,直到標准的出台才正式定型,但是在標准庫的實現上卻很令人欣慰得看到多種實現,並且已被實踐證明為有工業級別強度的佳作。
Boost 庫是一個經過千錘百煉、可移植、提供源代碼的C++庫,作為標准庫的後備,是C++標准化進程的發動機之一。 Boost庫由C++標准委員會庫工作組成員發起,在C++社區中影響甚大,其成員已近2000人。 Boost庫為我們帶來了最新、最酷、最實用的技術,是不折不扣的"准"標准庫。
Boost 總體來說是實用價值很高,質量很高的庫。並且由於其對跨平台的強調,對標准C++的強調,是編寫平台無關,現代C++的開發者必備的工具。但是Boost 中也有很多是實驗性質的東西,在實際的開發中實用需要謹慎。並且很多Boost中的庫功能堪稱對語言功能的擴展。
其構造用盡精巧的手法,不要貿然的花費時間研讀。Boost另外一面,比如Graph這樣的庫則是具有工業強度,結構良好,非常值得研讀的精品代碼,並且也可以放心的在產品代碼中多多利用。
再次體現了C++保持核心語言的效率同時大力發展應用庫的發展趨勢!!在C++中,庫的地位是非常高的。C++之父 Bjarne Stroustrup先生多次表示了設計庫來擴充功能要好過設計更多的語法的言論。
現實中,C++的庫門類繁多,解決的問題也是極其廣泛,庫從輕量級到重 量級的都有。不少都是讓人眼界大開,亦或是望而生歎的思維傑作。由於庫的數量非常龐大,而且限於筆者水平,其中很多並不了解。所以文中所提的一些庫都是比 較著名的大型庫。
還有很多非常激動人心或者是極其實用的C++庫,限於我們的水平以及文章的篇幅不能包括進來。在對於這些已經包含近來的庫的介紹中,由於並不是每一個我們都使用過,所以難免有偏頗之處,請讀者見諒。
C++的復雜性始終是一個不可回避的現實。C++中有大量的陷阱和缺陷,後者導致了數目驚人的慣用法workarounds。不加選擇的全盤預先學習,是非常糟糕的做法,不僅低效,而且根本沒有必要,實在是浪費生命。愛因斯坦曾經說過,“我只想知道‘他’宇宙)的設計理念,其它的都是細節”。
然而,正如另一些讀者指出的,如果對C++中的這些細節事先一點都沒有概念的話,那麼實際編碼中一旦遇到恐怕就變成沒頭蒼蠅了,也許到哪裡去RTFM都不知道。這也是為什麼那麼多C++面試都會不厭其煩地問一些有代表性的語言細節的原因。
把細節全盤裝在腦子裡固然不好,但對細節一無所知同樣也不是個辦法。那麼對於C++庫來說,在學習中究竟應該以怎樣的態度和學習方法來對付C++的復雜性呢?
其實答案也非常簡單,首先有一些很重要&必須的語言細節&特性是需要掌握的,然後我們只需知道在C++中大抵有哪些地方有復雜性陷阱、缺陷),那麼遇到問題的時候。