国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C++ > 正文

C++對C的升級

2019-11-11 03:27:39
字體:
供稿:網(wǎng)友
1.聲明和定義我們在c語言中,通常把變量的聲明放在文件開頭,即所有要用到的變量統(tǒng)一定義,而在c++中,我們可以把變量的定義放在快要用到的時候,例如,for語句,在c中我們是int i = 3;for(i = 0; i < 3; i++){}而在c++中,我們可以for(int  i = 0;i < 3; i++ )2.register 關鍵字的升級在C語言中,register的作用是修飾一個變量,該變量經(jīng)常被程序訪問,所以希望把該變量放在寄存器中,減少程序訪問該變量需要的時間,大大提高程序運行效率,因為是放在寄存器中,而&是得到內(nèi)存的地址,所以在C語言中,我們是無法對一個用register修飾的變量進行取地址操作的,但在c++中,我們是可以的,因為編譯器會優(yōu)化該變量,將變量重新放回到內(nèi)存中。3.const關鍵字c語言中,我們用const修飾的叫做只讀變量,readonly,即我們不能通過變量名對空間的值進行修改,但是空間對應的值是可以修改的,比如下面這個例子const int num = 3;我們不能  num++;但是我們可以通過下面方法實現(xiàn)num自加int * ptr = &num;(*ptr)++;這個時候打印num的值會發(fā)現(xiàn)num++而在c++中我們是無法這樣做的,用const修飾后他就是一個常量,因為在c++中,編譯器要求做到const的對應,如果你之前用const修飾的變量num,之后要用指針指向這個地址的話就必須用const*,所以地址對應的值就無法變化了。4.new/delete  內(nèi)存的分配與釋放在c語言中,我們是用malloc進行內(nèi)存的分配,例如char * ptr = (char *)malloc(sizeof(char) *100);釋放的時候,我們用free ptr;而在c++中,我們是char * ptr = new char [100];用delete []ptr來釋放;動態(tài)內(nèi)存分配的區(qū)別{new以具體類型為單位進行內(nèi)存分配,malloc只能以字節(jié)為單位進行分配new關鍵字是c++的一部分,malloc是由c庫提供的函數(shù)new申請單個類型變量的時間進行初始化}當我們申請二維數(shù)組時,我們需要如下操作int (*pp)[2] = new int [2][2];5.引用引用時c++提出的一個新的概念,他比指針安全而且使用簡單。我們使用引用時一定要初始化,這是跟指針差不多的。指針和引用的區(qū)別:1.引用訪問一個常量是直接訪問,而指針是間接訪問2.引用是一個變量的別名,本身不單獨分配自己的內(nèi)存空間,但是指針有自己的空間3引用一經(jīng)初始化不能再引用其他變量,而指針可以。今天先講這么點,以后補充
上一篇:C++對C的升級

下一篇:C++基本知識

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 开化县| 门头沟区| 军事| 阳西县| 来凤县| 镇远县| 禹州市| 蕉岭县| 曲周县| 郯城县| 扶绥县| 云阳县| 腾冲县| 儋州市| 南丰县| 靖西县| 芦山县| 樟树市| 双鸭山市| 双城市| 宜川县| 鄢陵县| 马关县| 屯昌县| 西峡县| 磴口县| 德安县| 永州市| 子洲县| 望谟县| 静海县| 筠连县| 临潭县| 库车县| 伊金霍洛旗| 雅安市| 疏勒县| 阳原县| 扎兰屯市| 自贡市| 彝良县|