C++ 指向常量的指针与指针类型的常量
生活随笔
收集整理的這篇文章主要介紹了
C++ 指向常量的指针与指针类型的常量
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
(1)聲明指向常量的指針時(shí),不能通過(guò)指針來(lái)改變所指對(duì)象的值,但指針本身可以改變,可以指向另外的對(duì)象。
#include<iostream>using namespace std;int main(){int a = 6;const int *p1 = &a; // p1是指向常量的指針 cout << "*p1的值改變前:" << *p1 << endl; a = 10; // 變量a中的數(shù)值改變后,*p1的值也會(huì)發(fā)生改變cout << "a改變后,*p1的值:" << *p1 << endl; int b = 9;p1 = &b; // p1本身的值可以改變cout << "將b的地址賦值給p1后:" << *p1 << endl; }程序運(yùn)行的結(jié)果:
*p1的值改變前:6
a改變后,*p1的值:10
將b的地址賦值給p1后:9
注:如果直接改變*p1的數(shù)值,則編譯出錯(cuò),因?yàn)椴荒芡ㄟ^(guò)指向常量的指針改變所指的對(duì)象。
*p1 = 1; // *p1 為指向常量的指針,不能改變所指的對(duì)象使用指向常量的指針,可以確保指針?biāo)赶虻某A坎槐灰馔飧摹H绻靡话阒羔槾娣懦A康牡刂?#xff0c;編譯器就不能確保指針?biāo)傅膶?duì)象不被更改。
(2)可以聲明 指針類(lèi)型的常量,這時(shí)指針本身的值不能被改變。
#include<iostream>using namespace std;int main(){int a = 6; int b = 9;int* const p1 = &a; // p1為指針類(lèi)型的常量// p1 = &b; // p1此時(shí)為指針常量,值不能被改變 }總結(jié)
以上是生活随笔為你收集整理的C++ 指向常量的指针与指针类型的常量的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C++ void类型指针的使用
- 下一篇: s3c2440移植MQTT