C++,令人頭疼的 const 關鍵字

來源:互聯網
上載者:User

C和C++的複雜聲明遵循right-left規則
,這個規則協助你快速地確定一個複雜聲明的確切含義。

 

/*<br />const 和 指標<br />令無數C++初學者頭痛的兩樣東西。<br />今天這個方法簡單了:從右開始結合,比如<br />const char *const a<br />從右向左結合<br />遇到const,說明a是個常量<br />遇到*,說明a是個常指標<br />遇到char 說明a這個指標指向的是字元<br />遇到const 說明const指向的是字元常量<br />由此:a是指向字元常量的常指標。</p><p>下面的定義式幫你掌握這種方法。<br />char a('V');<br />char *b(&a);<br />const char c('C');<br />const char *d;<br />char *const e(&a);<br />const char *const f(&c);<br />char **g;<br />const char **h;<br />char *const *i;<br />const char *const *const j = ??;<br />你能說出它們表示什麼嗎?<br />*/</p><p>#include <iostream><br />using namespace std;<br />int main()<br />{<br />char a('V');//字元變數</p><p>char *b(&a);//字元指標</p><p>const char c('C');//字元常量</p><p>const char *d;//指向字元常量的指標變數</p><p>char *const e(&a);//指向字元變數的常指標</p><p>const char *const f(&c);//指向字元常量的常指標</p><p>char **g;//一個指標變數,它指向的是一個指向字元變數的指標</p><p>const char **h;//一個指標變數,它指向的是一個指向字元常量的指標</p><p>char *const *i = ??;<br />const char *const *const j = ??;//這兩個留給大家想</p><p>return 0;<br />}
 

 

 

 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.