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

如何更好的學習C++語言?

開發 后端
學習最佳編碼實踐比學習C++語言更重要??磧炐愕拇a也比埋頭用差勁的編碼方式寫垃圾代碼要有效。直接、清晰、明了。

C++語言是編程界受氣最多的一門編程語言,流傳的錯誤的學習C++語言的方法一說就是好幾條,許多人在學習C++這們語言上,浪費了大量的時間,這也是人們頭疼的事情。

為什么會存在這么多錯誤認識?原因主要有三個,一是C++語言的細節太多。二是一些著名的C++書籍總在(不管有意還是無意)暗示語言細節的重要性和有趣。三是現代C++庫的開發哲學必須用到一些犄角旮旯的語言細節(但注意,是庫設計,不是日常編程)。這些共同塑造了C++社群的整體心態和哲學。

單是***條還未必能夠成氣候,其它語言的細節也不少(盡管比起C++起來還是小巫見大巫),就拿javascript來說,作用域規則,名字查找,closure,for/in,這些都是細節,而且其中還有違反直覺的。但許多動態語言的程序員的理念我猜大約是學到哪用到哪罷。但C++就不一樣了,學C++之人有一種類似于被暗示的潛在心態,就是一定要先把語言核心基本上吃透了才能下手寫出漂亮的程序。這首先就錯了。

這個意識形成的原因在第二點,C++書籍。市面上的C++書籍不計其數,但有一個共同的缺點,就是講語言細節的書太多——《C++ gotchas》,《Effective C++》,《More Effective C++》,但無可厚非的是,C++是這樣一門語言:要拿它滿足現代編程理念的需求。

尤其是C++庫開發的需求,還必須得關注語言細節,乃至于在C++中利用語言細節已經成了一門學問。比如學習C++語言模板在設計之初根本沒有想到模板元編程這回事,更沒想到C++模板系統是圖靈完備的,這也就導致了《Modern C++ Design》和《C++ Template Metaprogramming》的驚世駭俗。

這些技術的出現為什么驚世駭俗,打個比方,就好比是一塊大家都認為已經熟悉無比,再無秘密可言的土地上,突然某天有人挖到原來地下還蘊藏著最豐富的石油。在這之前的C++雖然也有一些細節,但也還算容易掌握,那可是C++程序員們的happy old times,因為C++的一切都一覽無余,everything is figured out。

然而《Modern C++ Design》的出世告訴人們,“瞧,還有多少細節你們沒有掌握啊。”于是學習C++語言程序員們久違的激情被重燃起來,奮不顧身的踏入細節的沼澤中。尤其是,模板編程將C++的細節進一步挖掘到了***——我們干嘛關心涉及類對象的隱式轉換的優先級高低?看看boost::is_base_of就可以知道有多詭異了。

但***的問題還在于,對于這些細節的關注還真有它合適的理由:我們要開發現代模板庫,要開發active library,就必須動用模板編程技術,要動用模板編程技術,就必須利用語言的犄角旮旯,enable_if,type_traits,甚至連早就古井無波的C宏也在亂世中重生,看看boost::preprocessor有多詭異就知道了,連C宏的圖靈完備性(預編譯期的)都被挖掘出來了。

為什么要做這些?好玩?標榜?都不是,開發庫的實際需求。但這也正是***的悲哀了。在boost里面因實際需求而動用語言細節最終居然能神奇的完成任務的***教材就是boost::foreach,這個小設施對語言細節的發掘達到了驚天地泣鬼神的地步。#t#

不信你先試著自己去看看它的源代碼,再看看作者介紹它的文章吧。而boost::typeof也不甘其后——C++語言里面有太多被“發現”而不是被“發明”的技術。難道最初無意設置這些語言規則的家伙們都是oracles?

因為沒有variadic templates,人們用宏加上缺省模板參數來實現類似效果。因為沒有concepts,人們用模板加上析構函數的細節來完成類似工作。因為沒有typeof,人們用模板元編程和宏加上無盡的細節來實現目標… 學習C++語言開發者們的DIY精神不可謂不強。

責任編輯:chenqingxiang 來源: NET130
相關推薦

2010-01-26 10:01:17

學習C++

2010-01-15 16:25:48

學習C++

2010-01-15 19:28:59

C++

2010-01-12 10:50:59

學習C++

2010-01-11 14:05:01

C++學習方法

2010-01-13 18:44:03

C++編譯

2010-01-15 18:06:20

C++引用

2010-01-13 14:05:55

C++語言

2010-01-08 15:45:04

設置Dev C++

2010-01-22 18:06:24

C++代碼

2010-01-08 17:13:46

Visual C++環

2010-01-22 13:20:27

C++代碼

2010-01-25 14:43:00

C++構造函數

2010-01-11 14:17:02

C++編程

2010-01-14 17:02:10

學習C++

2010-01-21 18:00:59

C++語言

2010-01-12 10:11:36

學習C++語言

2010-01-20 15:12:45

C++語言

2010-01-15 16:17:04

Carbide C++

2010-01-25 11:13:18

C++棧對象
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 欧美久久一区二区三区 | 日韩在线观看 | 最新黄色毛片 | 日本黄色免费视频 | 国产精品久久久久久久模特 | 国产精品视频免费观看 | 一级黄色片网址 | 色又黄又爽网站www久久 | 少妇性l交大片免费一 | 91爱爱·com| 亚洲精品乱码 | 国产成人精品一区二区三 | 成人免费观看网站 | 日韩免费av一区二区 | 亚洲一区二区三区在线视频 | 欧美一区免费 | 国产成人综合在线 | 精品欧美一区二区三区久久久 | 亚洲精品久 | 久久亚洲一区二区三区四区 | 国产亚洲精品精品国产亚洲综合 | 日本久草视频 | 国产a级毛片 | 亚洲天堂精品久久 | 国产精品免费av | 97碰碰碰| 免费视频一区二区 | 四虎影院免费在线 | 国产高清视频在线观看播放 | 精品亚洲一区二区三区 | 久久久久久99 | 337p日本欧洲亚洲大胆鲁鲁 | 久久国产精品免费一区二区三区 | 亚洲国产成人精品女人 | 欧美黄色一级毛片 | 91精品国产综合久久久久久 | 9999国产精品欧美久久久久久 | 99re66在线观看精品热 | 91传媒在线播放 | 免费性视频 | 欧美日韩久久久 |