成人免费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++編程

2018-05-15 11:14:07

面試官C++編程

2009-11-12 10:05:09

Visual C++

2010-01-26 17:11:13

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++數組

2010-01-21 14:07:14

CC++聲明

2023-06-09 09:36:31

C++程序員語言

2009-10-22 09:17:16

C++ CLR

2024-03-13 08:52:43

C++初始化方式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久热电影| 国产91久久久久久 | 国产成人99久久亚洲综合精品 | 国产一区二区三区 | 亚洲天堂一区 | 国产精品特级片 | 天天成人综合网 | 欧洲一级毛片 | 在线日韩不卡 | 亚洲欧洲一区 | 亚洲免费精品一区 | 国产精品福利在线观看 | 在线精品一区二区三区 | 日韩综合网 | 九色.com| 网站黄色在线 | 久草视 | 欧美精 | 国产精品久久久久久久久久不蜜臀 | 天天人人精品 | 日韩一区二区三区精品 | av电影一区二区 | 九九热精品在线 | 99国产精品99久久久久久粉嫩 | 免费 视频 1级 | 日本中文字幕一区 | 久久久久无码国产精品一区 | 免费在线成人 | 龙珠z在线观看 | 黄色欧美 | 91大神在线资源观看无广告 | 1区2区3区视频 | 日韩成人在线免费视频 | 日韩电影一区 | 国产午夜精品一区二区三区嫩草 | 在线观看亚洲 | 日韩三级| 国产一区二区三区在线 | 久久精品视频12 | 国产一级视频在线播放 | www.99热.com |