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

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

【c++】c++初識--基本知識梳理(1)

2019-11-11 02:53:59
字體:
來源:轉載
供稿:網友

一、面向過程編程VS面向對象編程(通過c語言和c++比較)

1.面向過程編程的特點

(1) c語言的特點

沒有深思熟慮的設計過程;

殘留很多低級語言特征;

c語言的目標是高效。

(2)面向過程程序設計

用途:主要解決科學計算問題,用戶需求簡單而固定

特點:

分析解決問題所需要的步驟;

利用函數實現各個步驟;

依次調用函數解決問題;

問題:

         軟件可重用性差

         軟件維護性差

         構建的軟件無法滿足用戶需求

 

2.面向對象編程特點

(1)面向對象程序設計

用途:將現實世界中的事物直接映射到程序中,可直接滿足用戶需求。

特點:

         直接分許用戶需求中涉及的各個實體;

         在代碼中描述現實世界中的實體;

         在代碼內關聯各個實體協同工作解決問題。

優勢:

         構建的軟件能夠適應用戶需求的不斷變化;

         直接利用面向過程方法的優勢而避開其劣勢。

(2)c++特點:是一種引入了面向對象設計方法,并且兼容c語言的高效的面向對象語言。

 

二、c++對c的升級

1.聲明和定義

(1)c++中更強調語言的“實用性”,所有變量都可以在需要使用時再定義。

#include<iostream> usingnamespacestd; intmain(){    for(inti=0;i<5;i++)    {        cout<<i<<endl;    }     return0;}

(2)c語言中的定義必須在作用域開始的位置開始定義。

 

2.register關鍵字的變化

(1)register請求編譯器將將局部變量盡可能存儲在cpu的寄存器中,以加快其存儲速度。

         c語言中無法取得register變量的地址。

(2)在c++中依然堅持register關鍵字

         c++編譯器有自己的優化方式,不實用register也可能做優化;

         c++中可以取register變量的地址;

         (PS:c++ 中,程序中取register變量地址時,register對變量的聲明變得無效)

        

3.const關鍵字

(1)const一般用于修飾形參,保護實參的值不被修改;

(2)const修飾的變量初始化時要賦初值;

         c語言中,被const修飾的變量是只讀變量,不可通過變量名修改其值,但是可以修改其空間的內容;

         c++中,當變量被const修飾時,即變為常量,不可通過任何方式修改其值。

 

4.c++中的動態內存分配

(1)c++中通過new關鍵字進行動態內存申請;

(2)c++中的動態內存申請是基于類型進行的;

Type* pointer = new Type; //變量申請Type *array = new Type[100]; //數組申請

(3)delete關鍵字用于內存釋放。

其他示例:

char (*pp)[100] = new char[100][100]; //二維數組要用一維數組指針來接char (*ppp)[100][100] = new char[100][100][100];//三維數組要用二維數組指針……delete [] pp;delete [] ppp;……

5.new關鍵字與malloc函數的區別

(1)new關鍵字是c++的一部分(是運算符),malloc是由c庫提供的函數;

(2)new以具體類型為單位進行內存分配,malloc只能以字節為單位進行內存分配;

(3)new在申請單個類型變量時可進行初始化,malloc不具備內存初始化。

int *p = new int(5); //*p指向的空間中保存的值為5


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

圖片精選

主站蜘蛛池模板: 成安县| 洛扎县| 广灵县| 金乡县| 镇赉县| 定结县| 万全县| 靖宇县| 略阳县| 安西县| 遵化市| 徐汇区| 浙江省| 虹口区| 大城县| 永年县| 辰溪县| 元氏县| 东港市| 凌海市| 柏乡县| 开原市| 比如县| 海盐县| 会同县| 桂林市| 太保市| 锡林郭勒盟| 昌江| 乌什县| 洪泽县| 鱼台县| 孝昌县| 宝清县| 青河县| 乐安县| 林周县| 深水埗区| 洪洞县| 韶关市| 公安县|