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

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

C++對C的升級

2019-11-11 02:57:23
字體:
供稿:網(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)初始化不能再引用其他變量,而指針可以。今天先講這么點,以后補充
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 明水县| 东乌珠穆沁旗| 永寿县| 石柱| 五指山市| 西充县| 松滋市| 蚌埠市| 昌宁县| 云浮市| 寿光市| 台江县| 大城县| 泰州市| 麻江县| 诏安县| 洪江市| 新兴县| 新民市| 乌兰浩特市| 泰安市| 林甸县| 清水县| 永修县| 丁青县| 资源县| 思南县| 沙雅县| 河西区| 滕州市| 公安县| 天台县| 都昌县| 屏东市| 嘉义县| 新丰县| 桃园市| 崇仁县| 沂水县| 嘉祥县| 永康市|