成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

你用C++踩過多少坑?編程業界大牛帶你了解真正的C++

新聞 前端
很多編程大牛對C++的感情波動是:先是喜歡地要死,然后是恨地要死,最是的又愛又恨,愛的是這個語言,恨的是很多不合格的人在濫用和凌辱它。

C++的初衷

1)早期C++許多的工作是對于C的強化和凈化,并把完全兼容C作為強制性要求。C89、C99中許多的改進正是從C++中所引進。可見,Stroustrup對C語言的貢獻非常之大。今天不管你對C++怎么看,C++的確擴展和進化了C,對C造成了深遠的影響。

2)在C++兼容C的過程中遇到了不少設計實現上的麻煩;以及守舊的K&R C程序員對Stroustrup的批評。很多人說C++的惡夢惡夢就是要去兼容于C,這并不無道理(Java就干的比C++徹底得多),但這并不是Stroustrup考慮的,Stroustrup一邊在使盡渾身解數來兼容C,另一方面在拼命地優化C。

3)C++***的競爭對手正是C,他的目的就是——C能做到的,C++也必須做到,而且要做的更好。大家覺得是不是做到了?有多少做到了,有多少還沒有做到?

4)對于同時關注的運行效率和開發效率的程序員,Stroustrup多次強調C++的目標是——“在保證效率與C語言相當的情況下,加強程序的組織性;能保證同樣功能的程序,C++更短小”,這正是淺封裝的核心思想。而不是過渡設計的OO。(參看:面向對象是個騙局)

5)《C++演化和設計》這本書中舉了很多例子來回應那些批評C++有運行性能問題的人。C++在其第二個版本中,引入了虛函數機制,這是C++效率***的瓶頸了,但我個人認為虛函數就是多了一次加法運算,但讓我們的代碼能有更好的組織,極大增加了程序的閱讀和降底了維護成本。(注:Lippman的《深入探索C++對象模型》也說明了C++不比C的程序在運行性能低。Bruce的《Think in C++》也說C++和C的性能相差只有5%)

6)這本書中還講了一些C++的痛苦的取舍,印象最深的就是多重繼承,提出,拿掉,再被提出,反復很多次,大家在得與失中不斷地辯論和取舍。這個過程讓我***的收獲是——a) 對于任何一種設計都有好有壞,都只能偏重一方,b) 完全否定式的批評是不好的心態,好的心態應該是建設性地批評。

[[211870]]

C++有多少坑

個人覺得C++的坑其實并不多,因為C++太靈活了,想怎么搞就怎么搞,所以,各種不經意地濫用和亂搞。某些人C和C++都沒學好,大多數人用C++寫C,所以,C的坑和C++的坑合并了。如果你能花兩到三周的時候讀一下《Effecitve C++》里的那50多個條款,你就知道C++里的坑并不多,而且,有很多條款告訴我們C++是怎么解決C的坑的。然后,你可以讀讀《Exceptional C++》和《More Exceptional C++》,你可以了解一下C++各種問題的解決方法和一些常見的經典錯誤。

C++在解決了很多C語的坑的同時,也因為OO和泛型又引入了一些坑。消一些,加一些,我個人感覺上總體上只比C多10%左右吧。但是你有了開發速度更快,代碼更易讀,更易維護的500%的利益。

C++的編譯對標準C++的實現各異,支持地也千差萬別,所以會有一些比較奇怪的問題,但是如果你一般用用C++的封裝,繼承,多態,以及namespace,const, refernece, inline, templete, overloap, autoptr,還有一些OO 模式,并不會出現奇怪的問題。

而對于STL中的各種坑,我覺得是程序員們還對GP(泛型編程)理解得還不夠,STL是泛型編程的***實踐!屬于是大師級的作品,一般人很難理解。必需承認STL寫出來的代碼和編譯錯誤的確相當復雜晦澀,太難懂了。這也是C++的一個詬病。

C++是一門很恐怖的語言,而比它更恐怖的是很多不合格的程序員在使用著它。

很多編程大牛對C++的感情波動是:先是喜歡地要死,然后是恨地要死,最是的又愛又恨,愛的是這個語言,恨的是很多不合格的人在濫用和凌辱它。

C++的未來

C++語言發展大概可以分為三個階段(摘自Wikipedia):

  • ***階段:

    這一階段C++語言基本上是傳統類型上的面向對象語言,并且憑借著接近C語言的效率,在工業界使用的開發語言中占據了相當大份額;

  • 第二階段:

    這一階段由于標準模板庫(STL)和后來的Boost等程式庫的出現,泛型程式設計在C++中占據了越來越多的比重性。當然,同時由于Java、C#等語言的出現和硬件價格的大規模下降,C++受到了一定的沖擊;

  • 第三階段:

    以Loki、MPL等程式庫為代表的產生式編程和模板元編程的出現,C++出現了發展歷史上又一個新的高峰,這些新技術的出現以及和原有技術的融合,使C++已經成為當今主流程式設計語言中最復雜的一員。

在《Why C++? 王者歸來》中說了 ,性能主要就是要省電,省電就是省錢,在數據中心還不明顯,在手機上就更明顯了,這就是為什么Android 支持C++的原因。所以,在NB的電池或是能源出現之前,如果你需要注重程序的運行性能和開發效率,并更關注程序的運性能,那么,應該*** C++。這就是iOS開發也支持C++的原因。

今天的C++11中不但有更多更不錯的東西,而且,還填了更多原來C++的坑。

你用C++踩過多少坑?編程業界大牛帶你了解真正的C++

總結

C++并不***,但學C++必然讓你受益無窮。是那些不合格的、想對編程速成的程序員讓C++變得坑多。

責任編輯:張燕妮 來源: C語言編程
相關推薦

2015-03-03 13:22:15

50條C++編程學習建議

2020-12-07 10:42:22

VScodeC++

2011-07-10 15:26:54

C++

2011-05-30 15:29:32

C++

2023-10-30 10:29:50

C++最小二乘法

2010-01-12 17:33:06

C++

2024-04-03 12:30:00

C++開發

2025-04-29 08:30:00

迭代器失效C++編程

2010-01-26 17:11:13

C++編程

2009-11-12 10:05:09

Visual C++

2018-05-15 11:14:07

面試官C++編程

2010-01-12 10:40:22

C++程序員

2010-01-21 09:34:57

C++語法

2010-01-27 16:05:06

C++堆棧

2010-01-26 15:51:06

C++變量

2010-01-28 13:45:06

C++數組

2023-06-09 09:36:31

C++程序員語言

2010-01-21 14:07:14

CC++聲明

2024-03-13 08:52:43

C++初始化方式

2009-10-22 09:17:16

C++ CLR
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品国产综合久久精品图片 | 中文字幕在线不卡播放 | 黄网站免费入口 | 污片在线免费观看 | 三级成人片 | 69性欧美高清影院 | 国产精品九九九 | 欧美精品区 | 久久精品国产一区二区电影 | 在线观看av网站永久 | 红桃视频一区二区三区免费 | 国产美女久久久 | 男人的天堂中文字幕 | 成人国产a | 婷婷中文在线 | 免费 视频 1级 | 午夜在线观看视频 | 美女在线一区二区 | 国产精品日韩在线观看一区二区 | 亚洲欧美激情四射 | 日本三级网站在线观看 | 中文字幕精品一区二区三区精品 | 欧美一区二区免费 | 国产一区二区三区不卡av | 精品国产91乱码一区二区三区 | 中国三级黄色录像 | 在线国产视频 | 国产美女一区 | 热99视频| 日韩欧美国产精品一区二区三区 | av资源中文在线天堂 | 欧洲一区在线观看 | 午夜视频网 | 国产精品久久久久久久久久软件 | av天天看| 国产成都精品91一区二区三 | 亚洲天堂成人在线视频 | 久久久精品国产 | 亚洲成人一区二区在线 | 欧美成人手机在线 | 亚洲免费片 |