c++之4.2.5 指標與const

來源:互聯網
上載者:User

指標這個東東,又來總結一下!

程式1:

int i=1;

const int j=1;

const int *p=&i; //這是竟然編譯通過,沒錯,這裡的就是重點!

(*P)++;  //編譯不通過!

這裡的重點在於,const int*p這個指標到底是什麼意思。一般閱讀指標最好就是從右至左讀,例如 int *q 讀做 q是指向int類型對象的指標。再看const int *p,應該讀做p是指向int類型的const對象的指標。說明了什麼,不是指標是const而被指的對象為const。

回到例子,int i 明明不是const對象,可以被*p指向。沒錯,const int *p只是說明指向的對象應該是const的,但具體是不是const不要緊,而*p會把它當做const對象對待。所以(*P)++編譯是不通過的。

綜上,所以const int *p的讀法可以改進一下,p是自認為指向int類型的const對象的指標!

明天還要上班,先寫到這裡吧!明天繼續!

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.