VC 學習筆記(二) VC 與C VB和C

2021-09-07 21:38:11 字數 1097 閱讀 4305

羅馬不是一天建成的,vc++的也不是憑空產生的——它一直標榜自己的從c發展而來的。vb好像是專門為了羞辱vc++而建立的。c#呢,是微軟類c語言的新秀——其實也不新了。亂吧?貌似挺亂的,其實這裡有章可循。

純粹的c++是從c發展而來的,是要用oo這個理念來度化廣大c程式設計師,讓他們離苦得樂的。純粹的c++語言很單純,很好,不像vc++那麼面目可憎。但是,語言都離不開類庫和開發環境,否則就不足夠複雜,不足以處理複雜的大系統。我剛剛看了stl,內容太少。mfc才能滿足日常所需——有人跟我提過qt,我沒玩過,暫時也不想玩。但是mfc貌似太複雜了,是的,不是太困難,而是太複雜。它把太多東西暴露給開發者,還告訴開發者可選,這其實很操蛋。每個人都有選擇綜合症!!!這又契合了我的口頭禪——沒有複雜性,不足以解決問題;有了複雜性,我們的多數經歷都被消耗在複雜性帶來的***上。

vb是據說這個地球上用的最多的語言,我不想去考證這一點。但是我能理解,因為它簡單。並且它的子集被用來作為office套件的粘合劑(vba)。還是powershell出來之前,windows許多內嵌指令碼的官方語言(vbscript)。照我來說,vb最適合非應用軟體開發人員啦。「不要問我從**來,我的故鄉在遠方」。用就行,別問那麼多。它的簡單照亮了vc++的笨拙和臃腫。

c#是個好語言,也是我之前用得最多的語言。它也摒棄了c++的複雜性,捨棄了一堆一堆的巨集定義。將所有的資料和操作都拿類包裝起來,不說再說什麼全域性的。也不再分什麼標頭檔案和實現檔案。它的設計理念是盡量簡單、自然,易於理解和使用。把庫建在大一統的.net framework上,使用visual studio這個微軟獨有的ide,不讓你多花一點力氣在跟主題無關的事情上。它被垢鄙的地方主要是效能問題,當然這是vc++的主場。但我想說其實考慮了效能、並做了適當優化的c#程式並不差,適合大多數情形。讓我yy一下,我覺得花同樣的時間,c#的程式設計師的**質量會稍微高些,因為打擊他們自信心、分散他們注意力的東西太少了。

與c相比,c++有了物件導向這個利器,使它在建模和**復用等很多方面有了突飛猛進。但它保留了大量的巨集定義,以及全域性函式。甚至還有意打破封裝,搞出了友元這種機制。從c++到vc++,不單是多了個ide和mfc類庫,它還搞出來一堆的基礎型別。此外它修改甚至隱藏main函式,讓人如墜霧中,實在可惡。

但是,一好遮百醜。希望它宣稱的效能能夠讓我們願意承受這些苦痛,阿門!

VC 學習筆記(二)

1.c語言的結構體是不能有成員函式的,但是 c 中可以的。這樣的話 c 中的結構體和類的作用是相同的,但是 c 中的結構體和類也是有區別的區別就是類可以定義其訪問許可權,而結構體不同,不能定義其訪問許可權。結構體和類在 c 中是可以通用的。2.類是抽象出一些基本屬性,物件是具有具體屬性值。物件是具體...

VC學習筆記

1 全域性變數和類在入口函式前執行。2 lpctstr為長字串,賦值要用l string 的格式。3 新增和刪除成員函式都是在類屬性裡操作的。4 vs2008對選單的設定都是在屬性裡,新增command訊息也是在相應類的屬性裡。5 settimer 可以隨時使用。設定之後便可以加訊息處理。6 在標頭...

VC學習筆記

程式的建立步驟 1建立框架和對話方塊 2 建立對話方塊對應的對話方塊類 cpassworddlg 由cdialog 派生 並為此對話方塊類增加成員變數 用於獲取放置於編輯框中的密碼內容 m strpassword 3修改對話方塊類的建構函式,對新增加的對話方塊成員變數賦初值 4 在程式主檔案 pas...