欧美精品一区二区三区四区-欧美精品一区二区三区在线播放-欧美精品一区二区少妇免费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无码四区 | 国产在线观看自拍 | 爱在线精品视频网站 | 国产精品欧美久久久久无广告 | 91精品国产自产在线老师啪 | 国产精品无码护士在线观看 | 国产亚洲精品久久久久的角色 | 18禁成年无码免费 | 伊人小视频 | 99v久久综合狠狠综合久久 | 久久99久久99精品观看 | 国产av午夜福利写真电影 | 内射爽无广熟女亚洲 | 婷婷久久久亚洲欧洲日产国码a | 亚洲国产美女黄色视频 | 2024偷拍大学生情侣无套进入 | 久久精品国产福利国产琪琪 | 成人无码一区二区三区不 | 国产精品ⅴa片在线观看粉嫩av | 91亚洲免费在线观看 | 国产综合视频在线观看一区 | 2024高清一道国产电影在线观看 | av无码十八禁网站观看 | 高清免费日韩视频在线 | 国产乱子伦视频大全亚琴影院 | 欧美日韩精品一区二区在线播放 | 99思思久热在线视频 | 久久久久亚洲精品无码网址蜜桃 | 日日摸夜夜欧美一区二区 | 国产无套视频在线观看aa在线 | 日本在线不卡视频 | 精品久久久国产成人一区二区三区综合区精品久久久中文 | 久久久久久亚洲av无码专区 | 国产av果冻传媒在线观看 | 国产精品一亚洲av | 国产第一页浮力影院草草影视 | 久久久久久精品中文字幕性色 | 99国内精品久久久久久久 | 国产精品人人爽人人做 | 人妻天天爽夜夜爽三区麻豆a | 久久久久久网 |