国产一区二区三区精品视频导航-国产一区二区三区精品综合-国产一区二区三区久久精品-国产一区二区三区乱-国产一区二区三区乱码福利-国产一区二区三区乱码在线观看

怎么樣才算精通C++?

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

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

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

  1. 面向對象(靈活應用virtual繼承+shared_ptr可以達到java/C#的效果)

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

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

  4. 過程式

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

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

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

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

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

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

原答案:

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

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

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

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

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

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

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

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

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

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

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

.

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

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


聯系我們

如有問題請聯系我們,我們7*24小時竭誠為您服務

主站蜘蛛池模板: 亚洲一区二区三区在线观看精品中文 | 三级片hd | 香蕉欧美成人精品a∨在线观看 | 国产精品天天爽夜夜欢张柏芝 | 国产成人精品日本亚洲网址 | 色一乱一伦一区一直爽 | 天天人人综合网7799日韩 | 国产精品中文字幕免费观看 | 日本精品久久久久中文字幕 | 97国产精品麻豆性色 | 国产日韩精品中文字幕视频一区福利不卡三级 | 中文字幕无吗热视频 | 日韩精品一区二区三区高清免费 | av无码精品一区二区三区三级 | 国产成人精品视频在放 | 伊人影视网| 日本不卡中文字幕免费 | 国产精品亚洲电影久久成人影院 | 国产在线欧 | 日韩精品区一区二免费播放 | 日韩一区精品视频一区二区 | 99国产精品欧美一区二区三区 | 91人妻人人做人碰人人爽九色 | 日本v片免费一区二区三区 日本www在线 | 精品国产亚洲一区二区麻豆 | 人妻精品久久久久中文字幕 | 亚洲欧美日韩视频在线 | 日本不卡中文字幕免费 | 蜜臀av人妻久久无码精品麻豆 | 日韩欧美国产一级 | 亚洲国产精品成人av无码久久综合网 | 亚洲日韩国产欧美一区二区三区 | 国产乱理伦片在线观看大陆 | 午夜理论片yy6080私人影院 | 91影视免费版官方最新版下载 | 国产亚洲精久久久久久无码 | 亚洲精品乱码久久久久久 | 亚洲精品一二三四区 | 国产成人精品毛片曰本亚洲 | 91在线无码精品秘入口色 | 一区二区亚洲高清无码人妻 |