成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

剖析C++的復雜性的兩種分類方法

開發 后端
C++的復雜性有兩種分類辦法,一是分為非本質復雜性和本質復雜性;其中非本質復雜性分為缺陷和陷阱兩類。另一種分類辦法是按照場景分類。

下面寫的文章是要介紹從一個較高的層次去把握C++中的復雜性。其中最重要的一個指導思想就是在學習的過程中注意你正學習的技術或細節到底是80%場景下的還是20%場景。

因此,當你發現在這個習以為常的環境下居然出現了新的可能性時,你當然是會歡呼雀躍的(比如我當年讀《Modern C++ Design》的時候就有一次從早讀到晚,午飯都沒吃),然而實際上呢?

其它語言中也許早就有first-class的支持了,其它語言也許根本不需要這個慣用法,因為它們就沒有這些缺陷。此外,從實踐的角度來說,更重要的是,這些“解決方案”也許你平時編程根本就用不到。

不,我當然不是說這些補丁方案不重要。正如前面所說,C++中繁雜的技巧并非空穴來風,總有實際問題在背后驅動的。但問題是,對于我們日常編程來說,這些“實際問題”簡直是八桿子打不著的。犯不著先費上80%的勁兒把20%時候才用到的東西揣在腦子里,用的時候查文檔或書就行了。

看到這里,塑造C++中特定的心態哲學的另一個原因想必你也已經知道了。實際上,這個原因才是真正根本的。前面說的一個原因是C++書籍市場(教育)造就的,然而為什么人們喜歡寫這些書呢?進一步說,為什么人們喜歡讀這些書呢?

(我承認,我也曾經讀得津津有味。)答案很簡單:心理。每個人都喜歡戴著腳鐐跳舞(事實8)。認識到這一點不是為了提倡它,而是只有當我們認識到自己為什么會津津有味地去鉆研一堆補丁解決方案的時候,我們才真正能夠擺脫它們的吸引。

總而言之,C++的復雜性只是一個必要條件,并非問題的根本癥結。根本癥結在于人的心理,每個人都喜歡戴著腳鐐跳舞,并且以為是“創新”。意識到這一點之后可以幫我們避免被各種各樣名目繁多的語言細節和技巧占去不必要的時間。

然而,C++的復雜性始終是一個不可回避的現實。C++中有大量的陷阱和缺陷,后者導致了數目驚人的慣用法和workarounds。不加選擇的全盤預先學習,是非常糟糕的做法,不僅低效,而且根本沒有必要,實在是浪費生命。

愛因斯坦曾經說過,“我只想知道‘他’(宇宙)的設計理念,其它的都是細節”。然而,正如另一些讀者指出的,如果對C++中的這些細節事先一點都沒有概念的話,那么實際編碼中一旦遇到恐怕就變成沒頭蒼蠅了,也許到哪里去RTFM都不知道。這也是為什么那么多C++面試都會不厭其煩地問一些有代表性的語言細節的原因。

把細節全盤裝在腦子里固然不好,但對細節一無所知同樣也不是個辦法。那么對于C++程序員來說,在學習中究竟應該以怎樣的態度和學習方法來對付C++的復雜性呢?其實答案也非常簡單。

首先有一些很重要&必須的語言細節&特性是需要掌握的,然后我們只需知道在C++中大抵有哪些地方有復雜性(陷阱、缺陷),那么遇到問題的時候自然能夠知道到哪兒去尋找答案了。具體的建議在后文。 #t#

本來這一節是打算做成一個C++復雜性索引的,然而一來C++的復雜性太多,二來網上其實已經有許多資料(比如Bjarne Stroustrup本人的C++ Technical FAQ就是一個很好的文檔),加上市面上的大多數C++書里面也不停的講語言細節;因此實際上我們不是缺乏資料,而是缺乏一種索引這些資料的辦法,以及一種掌控這些復雜性的模塊化思維方法。

由于以上原因,這里并不詳細羅列C++的復雜性,而是提供一個分類標準。 C++的復雜性有兩種分類辦法,一是分為非本質復雜性和本質復雜性;其中非本質復雜性分為缺陷和陷阱兩類。另一種分類辦法是按照場景分類:庫開發場景下的復雜性和日常編碼的復雜性。從從事日常編碼的實踐者的角度來說,采用后一種分類可以讓我們迅速掌握80%場景下的復雜性。

責任編輯:chenqingxiang 來源: 天極
相關推薦

2010-01-27 15:50:23

C++復雜性

2010-01-13 18:49:54

C++的復雜性

2010-09-17 09:37:27

Java安裝方法

2010-01-13 15:41:02

C++的復雜

2017-06-23 08:45:02

存儲技術復雜性

2010-03-11 14:34:47

Python環境

2019-05-13 15:47:29

Kubernetes云計算云復雜性

2009-01-20 15:23:33

存儲安全密鑰數據保護

2010-01-21 17:30:12

C++復雜

2010-03-02 10:59:04

2012-12-26 10:53:26

2020-03-24 09:52:34

大數據IT技術

2019-07-29 12:35:15

云計算復雜性云計算平臺

2019-11-23 23:30:55

Python數據結構時間復雜性

2010-02-01 10:22:51

C++數據指針

2020-06-15 09:58:23

云計算云安全數據

2009-07-22 15:50:36

J#和C++ASP.NET

2025-04-07 01:11:00

右值C++泛型

2011-04-25 09:53:31

C++mysql

2011-05-24 09:18:59

C++連接mysql數據庫
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美一区二区三区视频 | 日韩人体在线 | 亚洲一区免费视频 | 久久99精品久久久久久国产越南 | 在线久草 | 成人av在线网站 | 久久亚洲精品久久国产一区二区 | 国产精品一区久久久 | 91麻豆精品一区二区三区 | 免费看黄色国产 | 日本在线免费 | 亚洲人成网站777色婷婷 | 日韩一级精品视频在线观看 | 国产高清在线视频 | 青青草这里只有精品 | 欧美精品一区二区三区在线 | 日韩三级免费网站 | 国产一区二区三区四区区 | 欧美精品综合 | 美女黄视频网站 | 日韩超碰 | 久久亚洲一区二区三区四区 | 亚洲狠狠丁香婷婷综合久久久 | 国产欧美一区二区三区在线播放 | www.久久久| 麻豆精品国产91久久久久久 | 午夜国产在线 | 久久久www成人免费无遮挡大片 | 国产在视频一区二区三区吞精 | 免费看一区二区三区 | 国产男女视频网站 | av中文字幕在线 | 国内精品视频免费观看 | 亚洲精品一区二三区不卡 | www.亚洲一区二区三区 | 日韩在线国产 | 91久久精品日日躁夜夜躁国产 | av午夜电影 | 久久精品成人热国产成 | 四虎永久在线精品免费一区二 | 久久99国产精品 |