後臺開發閱讀筆記——第一個C++程式
阿新 • • 發佈:2018-11-17
#include <>與#include ""的區別:
前者常用來包含系統提供的標頭檔案,編譯器會到儲存系統標準標頭檔案的位置查詢標頭檔案;後者常用於包括程式設計師自己編號的標頭檔案,用這種格式時,編譯器先查詢當前目錄是否有指定名稱的標頭檔案,然後從標準頭目錄中進行查詢。
函式模板:
定義格式為tmplate。如下:
#include <iostream> using namespace std; tmplate <typename T> T min(T a, T b, T c) { if(a>b) a=b; if(a>c) a=c; return a; }
用函式模板比函式過載更方便,但是它只適用於函式個數相同而型別不同的情況。
陣列:
strlen()與sizeof()的區別如下:
前者是函式,在執行時才能計算,功能是返回字串的長度。引數是字元型指標(char*),且必須是以‘\0’結尾。當陣列名作為引數傳入時,實際上陣列已經退化為指標了。
後者是運算子,而不是函式,在編譯時就計算好了,用於計算資料空間的位元組數。因此,sizeof不能用來返回動態分配的記憶體空間的大小。sizeof常用於返回型別和靜態分配的物件、結構或陣列所佔的空間,返回值跟物件,結構,陣列所儲存的內容沒有關係。
指標:
存放的是地址,指向某個變數或者函式。函式指標是指向函式的指標變數。所以,函式指標首先是個指標變數,而且這個變數指向一個函式。C++在編譯時,每個函式都有一個入口地址,該入口地址就是函式指標所指向的地址。有了指向函式的指標變數後,就可以用該指標變數呼叫函數了。
引用:
就是變數的別名,與變數共用一個儲存單元,具有同一地址。宣告引用時必須初始化。當引數傳遞的資料較大時,用引用比一般變數傳遞引數的效率更高,佔用空間少。
另外注意,引用型引數應該在能被定義為const的情況下,儘量定義為const。