怎么樣才算是精通 C++?

2017-04-20 1246 9 編輯:深圳網站建設 來源:互聯網

精通C++是一個艱巨的任務。為什么C++比別的語言難學這么多?其實這基本上是因為C++他爹Bjarne Stroustrup說過的一句話“我特別討厭語言的設計者把自己的喜好強加給用戶”(看向go)。結果C++為了不限制你的想法,于是也就變成了現在這個樣子——包含若干范式,大概有

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

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

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

4.過程式

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

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

當我搞語言設計和編譯器的時候,我總是會傾向于創造各種小DSL來給自己用,用的都是模板(想想boost的spirit大概就明白我的意思了,雖然我不用它),盡量讓跟我有同樣背景的人一眼能看懂我代碼的意思。

當我做我那個GUI庫(www.gaclib.net)的時候,純粹是用OO和IoC那一套。當我寫3D渲染程序的時候,我會變成一個為了性能不惜犧牲可讀性的人。當我是不同的我的時候,我當然只會用C++的一部分來完成我當前的這個任務。這好像是多重標準,但是實際上是由于項目本身的性質而定的。到了這個時候你會覺得,C++真是一門好語言。當你需要為了你的項目放棄不同的部分的時候,C++都能幫你做到。

當你需要不同的抽象層次需要不同的性能要求的是,C++還是能夠幫你做到。如果你用別的語言,你最終會發現那個語言只能做某幾類的項目。這是因為,C++能夠自由的讓你放棄某些部分,而別的語言會阻止你放棄某些部分。為了達到這個層次,你必須進入一個無限接近于精通C++的狀態里,這個時候你才能收放自如,不被C++社區的各種不同的價值觀所捆綁。倘若你的項目非常大,不同的部分有不同的特征的時候(什么,一個沒有遍布全世界的一兩千人寫了20年的程序能叫程序嗎?),就更加需要你有這種本事了。

專業的網站建設公司,深正互聯,如您有網站營銷需求,請您關注我們,或者致電13828884598

本站文章均為深正網站建設摘自權威資料,書籍,或網絡原創文章,如有版權糾紛或者違規問題,請即刻聯系我們刪除,我們歡迎您分享,引用和轉載,但謝絕直接搬磚和抄襲!感謝...
關注深正互聯
七星彩头尾 美团叫车司机赚钱吗 hello语音能赚钱吗 固原捉鸟鸟作弊器 非常完美的单机捕鱼游戏 单机麻将下载安装 试玩赚钱平台教程 教师怎样开源赚钱 深圳靠什么可以赚钱吗 彩票之家游戏 有个网页说可以赚钱 龙武什么职业最好赚钱 向日葵远控怎么赚钱 国标麻将最高番数 村官赚钱吗 诺心蛋糕加盟赚钱吗 打麻将口诀顺口溜大全