欧美精品一区二区三区四区-欧美精品一区二区三区在线播放-欧美精品一区二区少妇免费A片-欧美精品一区二区在线观看-欧美久久激情图-欧美久久久久

怎么樣才算精通C++?

精通C++是一個艱巨的任務(wù)。為什么C++比別的語言難學(xué)這么多?

其實這基本上是因為C++他爹Bjarne Stroustrup說過的一句話“我特別討厭語言的設(shè)計者把自己的喜好強加給用戶”(看向go)。

結(jié)果C++為了不限制你的想法,于是也就變成了現(xiàn)在這個樣子——包含若干范式,大概有:

  1. 面向?qū)ο螅`活應(yīng)用virtual繼承+shared_ptr可以達(dá)到j(luò)ava/C#的效果)

  2. 模板(這里分兩類,分別為type rich programming和meta programming,區(qū)別很大)

  3. 函數(shù)式編程(如今有了lambda,配合<algorithm>文件,簡直無敵了)

  4. 過程式

但是難能可貴的是,這幾種東西在C++混在一起用也是多么的自然。不過,這需要你花時間去掌控他。

那到底有沒有必要真的學(xué)到這個地步呢,我覺得跟你的領(lǐng)域是有關(guān)系的。譬如說我,基本上算是人格分裂的,因為:

當(dāng)我是不同的我的時候,我當(dāng)然只會用C++的一部分來完成我當(dāng)前的這個任務(wù)。這好像是多重標(biāo)準(zhǔn),但是實際上是由于項目本身的性質(zhì)而定的。到了這個時候你會覺得,C++真是一門好語言。當(dāng)你需要為了你的項目放棄不同的部分的時候,C++都能幫你做到。當(dāng)你需要不同的抽象層次需要不同的性能要求的是,C++還是能夠幫你做到。如果你用別的語言,你最終會發(fā)現(xiàn)那個語言只能做某幾類的項目。這是因為,C++能夠自由的讓你放棄某些部分,而別的語言會阻止你放棄某些部分

為了達(dá)到這個層次,你必須進(jìn)入一個無限接近于精通C++的狀態(tài)里,這個時候你才能收放自如,不被C++社區(qū)的各種不同的價值觀所捆綁。倘若你的項目非常大,不同的部分有不同的特征的時候(什么,一個沒有遍布全世界的一兩千人寫了20年的程序能叫程序嗎?),就更加需要你有這種本事了。

說到這里,大家大概都明白精通C++大概是個什么感覺了吧——大丈夫能屈能伸

最近在全職做c++程序的優(yōu)化,發(fā)現(xiàn)這個語言真的是太復(fù)雜了。心累,但是非常有挑戰(zhàn)性。我覺得精通c++這件事情是水到渠成的,硬來不行的。

原答案:

-至少一次遇到 "Sorry, feature not implemented"

-至少一次遇到template報錯長到你找不到頭,因為terminal的buffer不夠

-能看懂gcc想表達(dá)什么,而不再看gcc字面上寫了什么(clang不算)

-代碼里面看不到new/delete,再敢于用起new/delete

-各種design pattern的好處壞處都能理解

- 跟人在論壇上面大干一架

- 理解“精通c++”這件事情連committe都沒幾個人能做到,每個公司還對這個語言的未來有不同的理解

-放棄“精通c++”這個偉大而艱巨的任務(wù)

抖個機靈。其實個人理解,編程要上一個檔次,要多接受不是跟c++直接相關(guān)的新知識。我對c++理解有質(zhì)的飛躍其實是學(xué)了OS 和 OCaml/Java了之后一波,上班之后被人code review是一波,修c++的程序又是一波。后面看meyers的書其實意義已經(jīng)不是很大了。很多時候只是通過那些書了解這個輪子的細(xì)節(jié),而不能理解這個輪子到底在那種車上跑,能跑多快,什么時候會散架。

谷歌工程師對C++的掌握有兩個級別:

1.擁有C++的readability(可讀性)認(rèn)證。通過這個認(rèn)證需要在實際工作中寫出一個比較復(fù)雜的完整的類,然后將這個類提交到一個委員會進(jìn)行審查,委員會會幫你糾正常見的錯誤,如果你的這個類滿足style guide[1]的所有要求,一兩個星期之后你就可以拿到可讀性認(rèn)證。一般來說,你需要在實際工作中寫過至少幾千行代碼才能達(dá)到這個要求。C++的readability對工程師的意義主要有兩個,一個是熟悉并避免C++的缺陷(比如不要使用iostream和exception),另一個是熟悉一些常用的庫函數(shù)(比如string的各種操作,hash_map和smart pointer的使用等)。通過這個認(rèn)證之后,工程師就有權(quán)利在code review中審閱其他人寫的C++程序(注意這個不是readability review)。絕大多數(shù)工程師對C++的掌握處在這個水平。

.

2. 顧問級C++程序員。一般需要寫過數(shù)萬行C++代碼,用C++實現(xiàn)過比較復(fù)雜的系統(tǒng),熟悉常見的設(shè)計模式并在實際工作中應(yīng)用,對代碼重構(gòu)有豐富經(jīng)驗,最重要的是,成為小組以及周圍同事的C++顧問,是同事有C++使用問題時最先想到詢問的人。顧問級C++程序員通常是高級工程師(senior engineer)及以上級別,不僅對某種程序語言,對工作中的各種工程問題也經(jīng)驗豐富。

其實“精通C++”并不僅僅是熟悉C++本身,你需要對C++需要實現(xiàn)的工程問題和周邊問題同樣精通;而且“精通C++”這種說法是相對的,如果你能成為組里的C++顧問,能夠幫助同事正確使用這種語言有效率地解決工程問題并避免C++的誤區(qū),你就算是精通C++的那個人。


聯(lián)系我們

如有問題請聯(lián)系我們,我們7*24小時竭誠為您服務(wù)

主站蜘蛛池模板: 日本一道本一二三区视频 | 无码中文字幕日韩专区 | 亚洲爆乳成av人在 | 日韩精品免费一区二区三区 | 国产久久在线观看 | 国产区精品一区二区 | 波多野结衣中文字幕在线观看 | 国产99视频精品免费视频7 | 成人18免费网站 | 国产激情无码激情A片小说 国产激情无码一区二区 | 最新精品亚洲成a人在线观看 | av免费不卡国产在线观看 | 精品国产一区 | 中文字幕人妻A片免费看 | 国产成人精品日本亚洲网址 | www动漫女人欧美日本xxxx成人精品一区日本无码 | 亚洲天堂黄 | 成人国产三级在线播放 | 无码欧美毛片一区二区三在线视频 | 亚洲精品久久久午夜麻豆 | 欧美日韩亚洲一区二区精品 | 国产精品扒开腿做爽爽爽A片 | 成年美女网站色在线看免费 | 91成人免费在线视频 | 欧美亚洲一区二区三区 | japanese护士高潮| 曰本道久久综合久久爱 | 国产精品床车 | 日韩精品中文字幕亚洲第一页 | 91大神精品无码在线观看 | 亚洲视频五区 | 麻豆AV久久无码精品久久 | 亚洲精品中文一区二区在线 | 四虎免费播放经典国产 | 成人精品一区二区三区不卡免费看 | 欧美日韩精品一区二区三区 | 色偷偷久久一区二区三区 | 国产成人无码精品午夜福利a | 久久国产精品自线拍免费 | 91在线精品麻豆欧美在线 | 日韩国产高清无码 |