const限定符和引用和typedef

2021-08-27 19:24:54 字數 1022 閱讀 2826

1.定義const物件

const int i=10;
變數i仍然是乙個左值,但是現在這個左值是不可修改的,任何修改i的嘗試都會導致編譯出錯。

2.const物件預設為檔案的區域性變數

非const變數預設為extern。要使const變數能夠在其他的檔案中訪問,必須顯示的指定它為extern。

3.引用

引用就是物件的另乙個名字。在實際程式中,引用主要用作函式的形式引數。

引用是一種復合型別,通過在變數前新增「&」符號來定義。復合型別是指用其他型別定義的型別。不能定義引用型別的引用,但可以定義任何其他型別的引用。

(1).引用是別名

引用只是繫結的物件的名字,作用在引用上的所有操作事實上都是作用在該引用繫結的物件上。

int ival = 10;

int &refval = ival;

refval += 2; //將refval指向的物件ival加2

int ival2 = refval; //類似的,把ival相關聯的值賦給ival2

std::cout《引用必須要初始化。

(2).const引用(指向const物件的引用)

const引用是指向const物件的引用,const引用時唯讀的。

非const引用只能繫結到與該引用同型別的物件,const引用則可以繫結到不同但相關的型別的物件或繫結到右值。

double dval = 3.13;

int &ri = dval; //錯誤,非const引用只能繫結到與該引用同型別的物件

const int &rii = dval; //正確,const引用則可以繫結到不同但相關的型別的物件或繫結到右值

4.typedef名字

typedef通常被用於以下三種目的:

(1)為了隱藏特定型別的實現,強調使用型別的目的。

(2)簡化複雜的型別定義,使其更容易理解。

(3)允許一種型別用於多個目的,同時使得每次使用該型別的目的明確。

指標和const限定符

const int p 1,表示p指向乙個整型變數,並且該變數為const的。2,可以更改p的值,不可以更改它所指向物件的值。3,它可以指向非const型別的int變數 int const p 1,表示p指向乙個整型變數,該變數為非const的 2,不可以更改p的值,一旦初始化不可更改,單可以更改它...

指標和const限定符

1 指向const物件的指標 const double pi 3.14 double ptr error ptr is a plain pointer const double cptr ok cptr is a pointer to const 不能用void 指標儲存const物件的位址,而必須...

指標和const限定符

一 指向const物件的指標 1 定義格式 const 型別 指標名 const放在型別名的前面,它是用來限定物件的型別的,即物件的型別是 const 型別 2 由於物件是const型別,在定義的時候進行了初始化之後就不能被修改,所以通過指向const物件的指標修改物件的值是錯誤的。3 把乙個con...