《深入理解C++11:C++ 11新特性解析与应用》——1.3 C++11特性的分类
1.3 C++11特性的分類
從設計目標上說,能夠讓各個特性協同工作是設計C++11/0x中最為關鍵的部分。委員會總希望通過特性協作取得整體大于個體的效果,但這也是語言設計過程中最困難的一點。因此相比于其他的各種考慮,WG21更專注于以下理念:
根據這些設計理念可以對新特性進行分類。在本書中,我們的核心章節(第2~8章)也會按照這樣的方式進行劃分。在可能的時候,我們也會為每個理念取個有趣一點兒的中文名字。
而從使用上,Scott Mayers則為C++11創建了另外一種有效的分類方式,Mayers根據C++11的使用者是類的使用者,還是庫的使用者,或者特性是廣泛使用的,還是庫的增強的來區分各個特性。具體地,可以把特性分為以下幾種:
那么我們可以結合這種分類再來看一下可以怎樣來學習所有的特性。下面我們通過設計理念和用戶群對C++11特性進行分類,如表1-3所示。
由于C++11的新特性非常多,因此本書不準備涵蓋所有內容。我們粗略地將特性劃分為核心語言特性和庫特性。而從C++11標準的章節劃分來看(讀者可以從網站上搜到接近于最終版本的草稿,正式的標準需要通過購買獲得),本書將涉及C++11標準中第1~16章的語言特性部分(在C++11語言標準中,第1~16章涵蓋了核心語言特性,第17~30章涉及庫特性),而標準庫將不在本書中描述。當然,這會導致許多灰色地帶,因為如同我們提到的,我們總是傾向于使用庫而不是語言擴展來實現一些特性,那么實際上,講解語言核心特性也必然涉及庫的內容。典型的,原子操作(atomics)就是這樣一個例子。因此,在本書的編寫中,我們只是不對標準庫進行專門的講解,而與核心內容相關的庫內容,我們還是會有所描述的。
而之前我們提到過的“更傾向于使用庫而不是擴展語言來實現特性”理念的部分,如果有可能,我們會在另一本書或者本書的下一個版本中來進行講解。下面列出了屬于該設計理念下的庫特性:
總結
以上是生活随笔為你收集整理的《深入理解C++11:C++ 11新特性解析与应用》——1.3 C++11特性的分类的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 运营商部署4.5G热情高涨:将影响5G商
- 下一篇: NET内存持续增长问题排查