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

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

C++對C的升級

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

圖片精選

主站蜘蛛池模板: 阿尔山市| 湟源县| 甘南县| 望江县| 宁远县| 大余县| 淮滨县| 耿马| 蒲城县| 临夏县| 五台县| 江陵县| 手机| 广平县| 五莲县| 南木林县| 花垣县| 来凤县| 临清市| 噶尔县| 茂名市| 巩留县| 高邑县| 舞钢市| 平顺县| 大城县| 浠水县| 玛曲县| 宣城市| 娄底市| 绥宁县| 泰和县| 静乐县| 瓮安县| 亳州市| 罗甸县| 连云港市| 资兴市| 龙江县| 丰都县| 姚安县|