偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

C++入門學(xué)習(xí)筆記總結(jié)之談

開發(fā) 后端
下面著重講述C++入門學(xué)習(xí)時(shí)碰到的相關(guān)難題和問(wèn)題,以及學(xué)習(xí)C++的技巧,如何更好的進(jìn)行C++的學(xué)習(xí),希望本文能給大家?guī)?lái)幫助。

許多編程人員學(xué)習(xí)C++總結(jié)經(jīng)驗(yàn)為,有的覺(jué)得C++語(yǔ)言是一門獨(dú)立的語(yǔ)言,并不是在C語(yǔ)言的基礎(chǔ)上,可以直接學(xué)習(xí)C++不必先從C下手,下面把我的C++入門學(xué)習(xí)的經(jīng)驗(yàn)給大家拿出來(lái)分享一下,希望能給大家?guī)?lái)有用的信息。

我想先說(shuō)說(shuō)C++入門學(xué)習(xí)吧,想必這個(gè)概念諸位都有所了解,在下多羅嗦幾句再說(shuō)一下:所謂庫(kù),就是許多程序代碼的集合:編程的時(shí)候,會(huì)有許多常用的功能,如果每個(gè)用到這些功能的程序都要從頭寫一遍,則會(huì)出現(xiàn)無(wú)謂地重復(fù)勞動(dòng);因此人們把這些常用的功能編寫好,并按一定的邏輯關(guān)系組織、封裝起來(lái),便于編程時(shí)直接調(diào)用,就成為了庫(kù)。

庫(kù)中的程序模塊是怎么放置的呢?嗯,首先,我們很自然會(huì)想到把那些常用的功能封裝成一個(gè)個(gè)相應(yīng)的函數(shù),這樣程序要用到這些功能的時(shí)候,我們就調(diào)用相應(yīng)的函數(shù)。這些函數(shù)組成的庫(kù)自然可以叫做函數(shù)庫(kù),顯然函數(shù)庫(kù)的思想是面向過(guò)程的;

其次,我們也可以把要實(shí)現(xiàn)的任務(wù)封裝成一個(gè)個(gè)類(class),例如要某個(gè)庫(kù)包含文件操作的功能,設(shè)計(jì)者可能會(huì)寫一個(gè)File類,它或許會(huì)有open、close、reset、read、write等方法,內(nèi)部也可能會(huì)有一些保存文件信息的數(shù)據(jù)結(jié)構(gòu),等等。

這些由各種類組成的庫(kù)稱為類庫(kù),它是面向?qū)ο蟮?。因此,按組織思想分,庫(kù)可以分為函數(shù)庫(kù)、類庫(kù)等。至于標(biāo)準(zhǔn)庫(kù)與非標(biāo)準(zhǔn)庫(kù),則是另一種分類方式。如果某個(gè)庫(kù)是C++語(yǔ)言標(biāo)準(zhǔn)所“規(guī)定”要有的,如STL(即標(biāo)準(zhǔn)模板庫(kù),我們?cè)?FONT size=+0>C++中常用的vector、list之類的容器以及相關(guān)算法都屬于STL的一部分)。

是語(yǔ)言中的一部分,則稱為C++入門學(xué)習(xí)(被標(biāo)準(zhǔn)化了的,無(wú)論VC、C++ Builder還是其它什么C++編譯平臺(tái),都要求包含它才算是“真正”的C++)。當(dāng)然,標(biāo)準(zhǔn)庫(kù)的范圍比較窄,除此之外的諸如MFC、VCL、Qt等都是其它軟件廠商(或組織)自己編寫的,不是C++標(biāo)準(zhǔn)所規(guī)定(單純介紹C++的書也不會(huì)介紹它們),不是語(yǔ)言的一部分,所以不是標(biāo)準(zhǔn)庫(kù)。

應(yīng)用程序編程接口(Application Programming Interface)是操作系統(tǒng)為程序員提供的功能。你要在一個(gè)操作系統(tǒng)上編寫程序,一舉一動(dòng)都要依賴操作系統(tǒng):你要讀一個(gè)文件,或者在屏幕上畫一個(gè)點(diǎn),最終都是要求操作系統(tǒng)替你實(shí)現(xiàn)的,而這些“要求”的方式,或者說(shuō)是“與操作系統(tǒng)打交道”的方式,就是通過(guò)編程接口。

在DOS中,程序員要實(shí)現(xiàn)的功能最終是通過(guò)中斷的方式“告訴”操作系統(tǒng),從而讓其替你完成的,因此可以說(shuō)中斷是DOS系統(tǒng)的API;到了更復(fù)雜的Windows系統(tǒng),由于中斷過(guò)于簡(jiǎn)單與低級(jí),所以Windows為程序員提供的是一系列的函數(shù)。

這些函數(shù)已經(jīng)被編譯好,大多放在各個(gè)隨系統(tǒng)一起安裝好的.dll文件中,大多數(shù)情況下,Windows下的編譯器會(huì)將我們的程序與這些函數(shù)庫(kù)鏈接好;很自然地,它們就被稱為API函數(shù)。Windows的API函數(shù)成千上萬(wàn)。

與DOS區(qū)區(qū)十幾幾十條的中斷相比實(shí)在是復(fù)雜多了,從而提供了比DOS更多、更完善的服務(wù)。不過(guò)學(xué)習(xí)的時(shí)候不可能把這些函數(shù)的名稱、調(diào)用方法、參數(shù)表之類全部記得一清二楚,一般對(duì)部分最常用的函數(shù)有個(gè)大概的掌握就可以;其它的一般是隨用隨查,這方面MSDN是一個(gè)相當(dāng)好(而且大概也是最權(quán)威)的資料集。

首先重復(fù)一句Bjarne的話:“我們的系統(tǒng)已經(jīng)是極度復(fù)雜的了,為了避開C++入門學(xué)習(xí)的復(fù)雜性而干脆不用C++(Linus的做法),無(wú)異于因噎廢食?!痹谒锌捎肅和C++的領(lǐng)域,C++都是比C更好的語(yǔ)言。當(dāng)我說(shuō)“更好的”時(shí)候,我說(shuō)的是C++擁有比C更安全的類型檢查、更好的抽象機(jī)制、更優(yōu)秀的庫(kù)。

當(dāng)然,凡事都有例外,如果你做的項(xiàng)目1)不大。2)編碼中用不到什么抽象機(jī)制,甚至ADT(抽象數(shù)據(jù)類型,例如std::complex這種不含多態(tài)和繼承的)也用不到,RAII也用不到,異常也用不到。3)你連基礎(chǔ)庫(kù)(如,簡(jiǎn)化資源管理的智能指針、智能容器)都用不著。那么也許你用C的確沒(méi)問(wèn)題;所以如果你的情況如此,不用和我爭(zhēng)論,因?yàn)槲覠o(wú)法反駁你。我們這里說(shuō)的領(lǐng)域大致是Bjarne在“C++應(yīng)用列表”里面列出來(lái)的那些地方。

底線是:如果把C++中的諸多不必要的復(fù)雜性去掉,留下那些本質(zhì)的,重要的語(yǔ)言特性,簡(jiǎn)化語(yǔ)言模型,消除歷史包袱。即便是C++的反對(duì)者也許也很難找到理由說(shuō)“我還是不用C++”。在我看來(lái),一個(gè)真正從實(shí)踐意義上理性反對(duì)使用C++入門學(xué)習(xí)的人只有一個(gè)理由:C++的復(fù)雜性帶來(lái)的混亂抵消乃至超過(guò)了C++的抽象機(jī)制和庫(kù)(在他的特定項(xiàng)目中)帶來(lái)的好處。

【編輯推薦】

  1. C與C++中標(biāo)準(zhǔn)輸入實(shí)現(xiàn)方式上的一點(diǎn)區(qū)別
  2. C++編譯器如何對(duì)Const常量進(jìn)行分配存儲(chǔ)空間
  3. C++類庫(kù)設(shè)計(jì)的基本構(gòu)思與方法
  4. 玩轉(zhuǎn)C++語(yǔ)言的幾種方法
  5. 如何更好的進(jìn)行C++代碼編制
責(zé)任編輯:chenqingxiang 來(lái)源: CSDN
相關(guān)推薦

2010-01-21 18:00:59

C++語(yǔ)言

2010-01-18 10:53:26

2010-01-27 16:52:31

C++語(yǔ)言學(xué)習(xí)

2010-01-25 11:21:01

C++語(yǔ)法

2010-01-27 15:54:49

C++實(shí)現(xiàn)程序

2010-01-14 17:02:10

學(xué)習(xí)C++

2011-07-14 10:12:50

C++

2010-01-15 14:52:33

Visual C++

2010-01-15 14:59:54

C++標(biāo)準(zhǔn)程序庫(kù)

2010-02-07 15:12:24

學(xué)習(xí)Android

2010-02-22 09:43:42

學(xué)習(xí)Python語(yǔ)言

2010-02-02 13:37:12

如何學(xué)習(xí)Python

2010-01-15 16:37:28

Visual C++

2010-01-13 11:10:17

C++庫(kù)函數(shù)

2010-02-03 15:52:02

Python學(xué)習(xí)研究

2010-02-06 13:36:57

學(xué)習(xí)Android程序

2009-08-13 18:21:52

C#學(xué)習(xí)筆記

2010-01-25 14:31:07

C++類

2011-04-19 17:44:02

C++

2011-04-19 17:36:12

C++
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)