c 中的const總結

2021-07-11 15:55:29 字數 1330 閱讀 9979

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改為外部連線,作用於擴大至全域性,編...