av激情亚洲男人的天堂国语,日韩欧美精品一中文字幕,无码av一区二区三区无码,国产又色又爽又刺激的a片,国产又色又爽又刺激的a片

講解一下C++中const

const 是 constant 的縮寫,本意是不變的,不易改變的意思。在 C++ 中是用來修飾內(nèi)置類型變量,自定義對(duì)象,成員函數(shù),返回值,函數(shù)參數(shù)。

創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)成都網(wǎng)站制作、網(wǎng)站營銷推廣、網(wǎng)站開發(fā)設(shè)計(jì),對(duì)服務(wù)成都三維植被網(wǎng)等多個(gè)行業(yè)擁有豐富的網(wǎng)站建設(shè)及推廣經(jīng)驗(yàn)。創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司成立于2013年,提供專業(yè)網(wǎng)站制作報(bào)價(jià)服務(wù),我們深知市場(chǎng)的競(jìng)爭(zhēng)激烈,認(rèn)真對(duì)待每位客戶,為客戶提供賞心悅目的作品。 與客戶共同發(fā)展進(jìn)步,是我們永遠(yuǎn)的責(zé)任!

C++ const 允許指定一個(gè)語義約束,編譯器會(huì)強(qiáng)制實(shí)施這個(gè)約束,允許程序員告訴編譯器某值是保持不變的。如果在編程中確實(shí)有某個(gè)值保持不變,就應(yīng)該明確使用const,這樣可以獲得編譯器的幫助。

一、符號(hào)常量的聲明

常量聲明的語句的形式:  const + 數(shù)據(jù)類型說明符 + 常量名 = 常量值

數(shù)據(jù)類型說明符 + const + 常量名 = 常量值

注意:   符號(hào)常量在聲明時(shí)一定要賦初值,且在程序中不能改變其值。

const float PI = 3.14159;                   //下面則是錯(cuò)誤的聲明                   const float PI;                    PI = 3.14159;

二、const* 和 *const 的區(qū)分

目前了解的形式

例如:

 const int *p (int const *p)

        int *const p

        const int* const p

1.const int *p (int const *p) 的意義

二者表達(dá)的意思一致,即 *p 是個(gè) const ,不能通過 *p 修改 p 的指向,所以也可以叫它為只讀型指針

由于是將指向的數(shù)據(jù)視為常量,定義的時(shí)候可以不用初始化

1.   int a = 0;     

    const int* p;     

    p = &a;     

    *p = 2; //錯(cuò)誤,不能通過*p 修改值   
   2.   int a = 0;      

       const int* p = &a;      

       a = 1;      

       cout

2. int* const p 的意義

該定義將 p 視為一個(gè)const常量,所以定義時(shí)就要初始化,且p 指向的位置不能改變,所以也可以叫它指針常量

1.  int a = 0,b =1;
   int* const p = &a;
   p = &b;    //錯(cuò)誤,p 的指向已不能改變
2.  int a = 0, b = 1;
   int* const p = &a;
   *p = b;
   cout 

(const int* p 與 int* const p 與 const int* const p 的區(qū)別)

const int* p 表示把 p 指向的變量看成常量

int* const p 表示把 p 自己定義為常量,所以定義時(shí)就要初始化

const int* const p 表示 p、*p 都是常量,即 p 的指向不能改變,也不能通過 *p 改變 p 指向的值

有個(gè)評(píng)論講的很有意思,share一下:

看”effective c++”第三條講到: 只需要判斷const是在 * 的左邊還是右邊即可。 左邊則是修飾被指物,即被指物是常量,不可以修改它的值; 右邊則是修飾指針,即指針是常量,不可以修改它的指向; 在左右兩邊,則被指物和指針都是常量,都不可以修改。

int c = 3;
int a = 2;
int b = 1;
//const出現(xiàn)在*左邊,則被指物是常量
const int * pi = &a;
*pi = b;//不正確 被指物是常量
pi = &c; //正確
//const 出現(xiàn)在* 右邊,則指針是常量
int * const p = &a;
p = &c;//不正確,指針是常量
*p = c;//正確
//const出現(xiàn)在*左右兩邊,則被指物和指針都是常量
const int * const ptr = &a;
ptr = &c;//不正確,指針是常量
*ptr = c;//不正確,被指物是常量

注意事項(xiàng) !

1.如果有const int a = 0; 那么必須是 const int* 才能指向 a,像 int* p =&a; 是非法的

2.const int a =10;

 int* p =&a; // 錯(cuò)誤,這是不能取地址的,否則有修改值的能力

文章名稱:講解一下C++中const
當(dāng)前地址:http://uogjgqi.cn/article/dhjgdsg.html
掃二維碼與項(xiàng)目經(jīng)理溝通

我們?cè)谖⑿派?4小時(shí)期待你的聲音

解答本文疑問/技術(shù)咨詢/運(yùn)營咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流