1. const用來定義符號常量時要注意:
const 型別 name=value;
型別 const name=value;
符號常量宣告時就要賦初值,而且在程式中不能改變它的值
2. const定義常引用:
const 型別 & 引用名
比如 void display (const int &r)
常引用做形參時,所引用的物件不能被更新,因此對應的實參不會被改變
如這個例子:
void display(const int& r)
;int main()
3. const定義常物件:
類名 const 物件名,const也可以寫在前面
比如 a const a(3,4);//a是類的名字,a是物件
常物件的資料成員值在物件的整個生存期間不能被改變,常物件和符號常量一樣要進行初始化,且不能被更新
為了防止常物件裡面的成員函式改變常物件的資料成員的值,規定常物件不能呼叫普通的成員函式,所以常物件的介面應該是特殊的成員函式,即常成員函式
4. 常成員函式:
成員函式 const
比如 void print () const;
常成員函式不能更新物件的資料成員,也不能呼叫常物件的非常成員函式的成員函式,保證了不會改變物件的資料成員的值
5.常資料成員
在資料成員前面加乙個const
建構函式對常資料成員進行初始化,只能通過初始化列表
給個例子可以說明3,4,5
#include
using namespace std;
class r
;const int r::b=3;
r::r(int r1,int r2):a(r1),r(r2)//建構函式對常資料成員進行初始化,只能通過初始化列表
;void r::print()
ps:補充一下靜態資料成員的作用,突然看到了新的知識點,當然要記下來啊
靜態資料成員可以實現同類物件的資料共享,正是因為這種共享性,靜態資料成員不屬於某乙個實體物件,所以也不能由某乙個物件來初始化,靜態資料成員在類的外面賦值。並且靜態的資料成員在記憶體中只佔乙份空間。每個物件都可以引用這個靜態資料成員。靜態資料成員的值對所有物件都是一樣的。如果改變它的值,則在各物件中這個資料成員的值都同時改變了。這樣可以節約空間,提高效率。(這裡是看的別人部落格上寫的,我覺得說的很清楚)
6. 常指標
const char *p; (讀作p is a pointer to const char)
char const *p(同上)
char* const p;(讀作 p is a const pointer to char)
C 中的const總結
這幾天看了c 程式設計思想,想把const的用法給總結一下 const的幾種用法如下 一.用做值替代.1 用來定義常量如 const int a 10 二.指標.1 指 const char p hello char const p hello 這兩種結果是一樣的,只是形式上不一樣.const 資料...
c 中對const的總結
c 中const總結 對於基本宣告 1.const int r 100 標準const變數宣告加初始化,因為預設內部連線所以必須被初始化,其作用域為此檔案,編譯器經過型別檢查後直接用100在編譯時替換 2.extend const int r 100 將const改為外部連線,作用於擴大至全域性,編...
c 中對const的總結
c 中const總結 對於基本宣告 1.const int r 100 標準const變數宣告加初始化,因為預設內部連線所以必須被初始化,其作用域為此檔案,編譯器經過型別檢查後直接用100在編譯時替換 2.extend const int r 100 將const改為外部連線,作用於擴大至全域性,編...