C++那些基礎性的東西

學過C的同學,下面這些東西,還是比較簡單的:

1.C++的輸入輸出:

用cout表示輸出流必須和“<<”一起使用,例如cout<<"hello world!"<<endl;C++中換行使用endl,表示結束一行,在iostream中定義。cout<<後可以輸出任意數據類型,指定輸出所佔列數使用setw設置。“<<”稱爲插入運算符。

用cin標書輸入流,“>>”稱爲提取運算符,用法與cout一樣。


2.const關鍵字 

  const限定符變量時,即常變量

const int a;錯誤,必須初始化常量,且常量不能賦值

const int *p;const *號左邊,表示指針所指向的變量爲常量不能通過*p更改指向內容。(constInt 可以換)

int * const p2;表示p2是常量,在定義時必須初始化,表示p2爲常量,不能再重新指向,表明指針指向固定不變。但是可以更改p2指向的內容

const限定符與#define區別:

Const定義的常量有類型,編譯器需要進行類型安全檢查,而#define只是做了簡單替換。

Const定義的常量在編譯時分配內存,後者不分配內存

Const定義的常變量的作用域爲該變量的作用域範圍,#define作用全部程序,或者到#undef

定義常量還可以用enum,儘量用const enum替換#define定義常量

#define常用於底層



3.函數的重載:

C++允許在同一作用域中用同一個函數名定義多個函數,這些函數的參數個數和參數類型不同,使得這些同名的函數能夠實現不同的功能,這就是函數的重載。

在調用的時候,系統會根據你的實參的類型個數等找到對應匹配的函數,然後調用該函數。

利用函數的重載時必須使得重載函數的參數個數或者類型必須有一個不同,函數的返回值類型可以同也可以不同。


4.函數模板:

C++提供的函數模板,一組通用函數,其函數類型和形參類型都不確定,用一個虛擬的類型來代表。

定義函數模板的一般格式:

template <typename T>或者template<class T>


5.變量的引用:

C++中,變量的引用就是變量的別名。如,int a;int &b=a;聲明瞭b是a的引用。引用聲明符要和“&”取地址符區分開,前面有數據的類型的是引用。

注意:(1)引用不是獨立的變量,系統不會爲其分配存儲單元。

(2)在聲明一個變量的引用後,在本函數執行期間,就不可以再做別的變量的引用了。

(3)引用不是一種數據類型,它必須與一個數據類型想聯繫。

(4)不能建立void類型的引用

(5)不能建立引用的數組

(6)可以建立指針變量的引用

(7)可以加const限定符,表示不能修改該引用的值



6.內聯函數

內聯函數的使用時的調用函數更加高效。C++中,在編譯時將所調用的函數的代碼嵌入到主函數中,這種嵌入到主函數中函數就稱爲內聯函數,或內嵌函數。


7.作用域運算符:

C++中提供作用域運算符“::”,指定所需要的作用域。


8.bool類型:取值爲邏輯真(true)和假(false)。存儲字節由編譯系統決定。

聲明的方式bool result,bool類型當整數用,true爲1,false爲0.其他值,非0值轉換爲true,0值轉換爲false.


9.動態分配/撤銷內存的運算符new/dlete:

1. 域預算符,::作用(1)對與局部變量同名的全局變量訪問(2)表示類的成員

2. New運算符,創建堆空間,成功返回首地址,異常退出。對應的運算delete運算符。

new時有[ ],則delete時也要刪除[ ].

3. New 的過程:分配內存和構造函數 delete的過程:調用析構函數很釋放內存

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章