日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
剖析C++的復(fù)雜性的兩種分類方法

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

我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站設(shè)計(jì)、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、方城ssl等。為上1000+企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的方城網(wǎng)站制作公司

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

其它語言中也許早就有first-class的支持了,其它語言也許根本不需要這個慣用法,因?yàn)樗鼈兙蜎]有這些缺陷。此外,從實(shí)踐的角度來說,更重要的是,這些“解決方案”也許你平時編程根本就用不到。

不,我當(dāng)然不是說這些補(bǔ)丁方案不重要。正如前面所說,C++中繁雜的技巧并非空穴來風(fēng),總有實(shí)際問題在背后驅(qū)動的。但問題是,對于我們?nèi)粘>幊虂碚f,這些“實(shí)際問題”簡直是八桿子打不著的。犯不著先費(fèi)上80%的勁兒把20%時候才用到的東西揣在腦子里,用的時候查文檔或書就行了。

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

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

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

然而,C++的復(fù)雜性始終是一個不可回避的現(xiàn)實(shí)。C++中有大量的陷阱和缺陷,后者導(dǎo)致了數(shù)目驚人的慣用法和workarounds。不加選擇的全盤預(yù)先學(xué)習(xí),是非常糟糕的做法,不僅低效,而且根本沒有必要,實(shí)在是浪費(fèi)生命。

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

把細(xì)節(jié)全盤裝在腦子里固然不好,但對細(xì)節(jié)一無所知同樣也不是個辦法。那么對于C++程序員來說,在學(xué)習(xí)中究竟應(yīng)該以怎樣的態(tài)度和學(xué)習(xí)方法來對付C++的復(fù)雜性呢?其實(shí)答案也非常簡單。

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

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

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


網(wǎng)站名稱:剖析C++的復(fù)雜性的兩種分類方法
本文地址:http://www.dlmjj.cn/article/ccopcig.html