程式設計 微知識 (九) c++ const介紹

const是"Constant"的縮寫,可以用來修飾不同的東西,像是變數或指標或函數...等,被const所修飾到的內容是不可變的。

通常會使用在修飾一個不應該被修改的內容,而且當我們宣告一個const的內容時,必須要將他初始化,不然我們並不能再除了初始化之外的任何時間賦予其值。

1.修飾變數:

一般有兩種寫法:

const TYPE value;
TYPE const value;
EX:
const int value;//value是const,value不可變
int const value;//value是const,value不可變

兩種寫法結果是一樣的,代表的意思是const修飾的內容,在這邊代表的是修飾類行為TYPE的變數value是不可變的。

2.修飾指標類型(根據const修飾的內容不同,會有不同的狀況):

const TYPE *Content;
TYPE const *Content;
TYPE* const Content;
const TYPE* const Content;

根據"1 修飾變數"的內容可以知道本例中的第一種和第二種狀況相同,也因此:

const int* Content;//指標(Content)可變,指標指到的內容(*Content)不可變
int* const Content;//指標(Content)不可變,指標指到的內容(*Content)可變
const int* const Content;//指標(Content)和指標指到的內容(*Content)皆不可變

3.修飾函數

TYPE fun(TYPE value) const {/...../}
const TYPE fun(TYPE value) {/...../}
EX:
int fun(int value) const {/...../}//通常用在類別(class)的宣告中,其函數在執行的過程中不能修改資料成員
const int fun(int value) {/...../}//回傳的內容是不可變的

 

 

有夢最美 築夢踏實

活在當下 認真過每一天

我是阿夢 也是Ace