1.4.3 修飾函數參數與返回值
cosnt既可以修飾函數返回值、各參數、函數自身。
- const 修飾返回值
返回值有三種:值返回、指針返回、參照返回。
對於內部數據型別來說,返回值是否是常數沒有區別。當時自定義的數據型別的時候,有時候不是const返回,會造成一定的困擾。
對於指針而言,注意不能返回指向區域性棧變數的指針,返回時是無效的。指向堆或者data或者bss區時可以的。
- const 修飾函數 參數
參數以值傳遞的時候,加const 意義也不大。主要還是對於地址。因爲假如傳遞地址的時候,不加const,那麼就不能傳遞指向const的指針。
1.4.4 const 在類中的應用
- const成員函數
- 如果兩個成員函數只是常數性不同,可以被過載。
- const 數據成員
常數數據成員必須在 建構函式的成員初始化列表中進行初始化。
1.5 記憶體管理與釋放
1.5.1 c語言記憶體操作函數
c語言中是 malloc free
C++ new delete
1.5.2 C++記憶體管理
- 動態建立物件的初始化
int* p1=new int //無初始化
int* p1=new int(); //初始化爲0
但對於類型別的物件,不管有沒有初始化,都會呼叫預設建構函式。
- const物件的動態分配和回收