古詩詞大全網 - 古詩大全 - C++中const什麽意思?

C++中const什麽意思?

在標準C++中,這樣定義的是壹個常量,用來修飾內置類型變量,自定義對象,成員函數,返回值,函數參數。

const使用(類型):

1、用於指針的兩種情況:const是壹個左結合的類型修飾符.

int const*A;//A可變,*A不可變

int*const A;//A不可變,*A可變

2、限定函數的傳遞值參數:

void function(const int Var);//傳遞過來的參數在函數內不可以改變.

3、限定函數返回值型.

const int function();//此時const無意義

const myclassname function();//函數返回自定義類型myclassname.

4、限定函數類型.

void function()const;//常成員函數,常成員函數是不能改變成員變量值的函數。

擴展資料:

總結:

1、指針本身是常量不可變

(char*) const pContent;

const (char*) pContent;

2、指針所指向的內容是常量不可變

const (char) *pContent;

(char) const *pContent;

3、 兩者都不可變

const char* const pContent;

4、其中區別方法:

沿著*號劃壹條線,

如果const位於*的左側,則const就是用來修飾指針所指向的變量,即指針指向為常量;

如果const位於*的右側,const就是修飾指針本身,即指針本身是常量。

5、const修飾函數參數

const修飾函數參數是它最廣泛的壹種用途,它表示函數體中不能修改參數的值(包括參數本身的值或者參數其中包含的值)。它可以很好

void function(const int Var); //傳遞過來的參數在函數內不可以改變(無意義,因為Var本身就是形參)

void function(const char* Var); //參數指針所指內容為常量不可變

void function(char* const Var); //參數指針本身為常量不可變(也無意義, 因為char* Var也是形參)

參數為引用,為了增加效率同時防止修改。

6、修飾引用參數時:

void function(const Class& Var);//引用參數在函數內不可以改變

void function(const TYPE& Var); //引用參數在函數內為常量不可變

7、const 修飾函數返回值

const修飾函數返回值其實用的並不是很多,它的含義和const修飾普通變量以及指針的含義基本相同。

(1) const int fun1() 這個其實無意義,因為參數返回本身就是賦值。

(2) const int * fun2()?

8、調用時 const int *

參考資料:

百度百科——CONST(C中的CONST)