資源描述:
《C++語言對C語言的擴(kuò)展.ppt》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、C++面向?qū)ο蟛糠窒蛳录嫒輈部分--------混合式編程語言C++:編譯后執(zhí)行效率高,僅比匯編低10%Vc++:微軟操作系統(tǒng)平臺優(yōu)勢二C++對C語言的擴(kuò)充C語言書寫程序回顧://hello,theworld程序#includeintmain(){printf(“%s”,“hello,theworld!”);return0;}C++helloworld程序://hello,theworld程序#includeusingnamespacestd;intmain(){cout<<“hello,theworld!”;return0;}主要內(nèi)
2、容1C++保留字2C++命名空間3C++語言的輸入輸出4動態(tài)內(nèi)存的分配與釋放5引用6C++函數(shù)新種類1C++保留字C++向下兼容原c語言,因此采用C語言寫的程序代碼,在C++環(huán)境下仍能編譯運(yùn)行。為提高開發(fā)效率,C++對C語言進(jìn)行了擴(kuò)充,重點(diǎn)加入了面向?qū)ο笳Z言成分。ANSIC的32個保留字auto:用于聲明變量的生存期為自動,即將不在任何類、結(jié)構(gòu)、枚舉、聯(lián)合和函數(shù)中定義的變量視為全局變量,而在函數(shù)中定義的變量視為局部變量。這個關(guān)鍵字不怎么多寫,因?yàn)樗械淖兞磕J(rèn)就是auto的。register:這個關(guān)鍵字命令編譯器盡可能的將變量存在CPU內(nèi)部寄存器中而不是通過內(nèi)存尋址訪問以
3、提高效率。registerinta=10;moveAX,10;inta=10;moveDS:[100],10;extern:它的作用在于告訴編譯器:有這個變量,它可能不存在當(dāng)前的文件中,但它肯定要存在于工程中的某一個源文件中或者一個Dll的輸出中。Static:靜態(tài)變量,放在程序的全局存儲區(qū)中,這樣可以在下一次調(diào)用的時候還可以保持原來的賦值。與堆棧變量和堆變量區(qū)分。變量用static告知編譯器,自己僅僅在變量的作用范圍內(nèi)可見。這一點(diǎn)是它與全局變量的區(qū)別。volatile:表明某個變量的值可能在外部被改變,優(yōu)化器在用到這個變量時必須每次都小心地重新讀取這個變量的值,而不是使
4、用保存在寄存器里的備份。它可以適用于基礎(chǔ)類型如:int,char,long......也適用于C的結(jié)構(gòu)和C++的類。當(dāng)對結(jié)構(gòu)或者類對象使用volatile修飾的時候,結(jié)構(gòu)或者類的所有成員都會被視為volatile.該關(guān)鍵字在多線程環(huán)境下經(jīng)常使用,因?yàn)樵诰帉懚嗑€程的程序時,同一個變量可能被多個線程修改,而程序通過該變量同步各個線程;ANSIC++的29個擴(kuò)充保留字名字空間(namespace)namespacens1{floata,b,c;fun1(){……}}floata,b,c;a=ns1::a;ns1的作用域,作用域內(nèi)定義的變量,對象,函數(shù),可以直接使用.作用域外使用
5、域內(nèi)的名字,則需加上域操作符::可以在同一文件內(nèi)使用多個同名變量,函數(shù)等同名對象,去除“同名沖突”。如兩程序員寫各自模塊時,都自定義了一個同名函數(shù),一旦同時包含,則沖突。a.hintx;intfun(inta,intb);b.hintx;intfun(inta,intb);#include#includex=10;intc=fun(2,3);a.hnamespaceA{intx;intfun(inta,intb);}b.hnamespaceB{intx;intfun(inta,intb);}#include#includeusing
6、namespaceA;x=10;intc=B::fun(2,3);名字空間(namespace)namespacens1{namespacens2{floata,b,c;fun1(){……}}floata,b,c;a=ns2::a;}floata;a=ns1::ns2::a;名字空間支持多重嵌套名字空間(namespace)usingn1::n2::a;//直接使用具體名字floatb;b=a;usingnamespacen1::n2;floatb;b=a;名字空間簡化用法名字空間(namespace)確定變量/函數(shù)/對象所屬作用域,即確定當(dāng)前使用的有多個同名的變量/函數(shù)
7、/對象到底是哪個。floata=2.4;//全局變量voidmain(){inta=8;//局部變量cout<