国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發(fā)設(shè)計 > 正文

C++中的const限定修飾符

2019-11-17 05:42:29
字體:
供稿:網(wǎng)友

   const修飾符可以把對象轉(zhuǎn)變成常數(shù)對象,什么意思呢?

   意思就是說利用const進行修飾的變量的值在程序的任意位置將不能再被修改,就如同常數(shù)一樣使用!

  使用方法是:

const int a=1;//這里定義了一個int類型的const常數(shù)變量a;

  但就于指針來說const仍然是起作用的,以下有兩點要十分注重,因為下面的兩個問題很輕易混淆!

  我們來看一個如下的例子:

#include <iostream>  
using namespace std;  
  
void main(void)  
{  
const int a=10;  
int b=20;  
  
const int *pi;  
pi=&a;  
cout <<*pi << "" << a <<endl;  
pi=&b;  
cout <<*pi << "" <<b <<endl;  
cin.get();  
}

  上面的代碼中最重要的一句是 const int *pi
  這句從右向左讀作:pi是一個指向int類型的,被定義成const的對象的指針;
  這樣的一種聲明方式的作用是可以修改pi這個指針所指向的內(nèi)存地址卻不能修改指向?qū)ο蟮闹担?br />
  假如你在代碼后加上*pi=10;這樣的賦值操作是不被答應編譯的!

  好,看了上面的兩個例子你對const有了一個基本的熟悉了,那么我們接下來看一個很輕易混淆的用法!

  請看如下的代碼:

#include <iostream>  
using namespace std;  
  
void main(void)  
{  
int a=10;  
  
const int *const pi=&a;  
  
cout <<*pi << "" <<a <<endl;  
cin.get();  
}

  上面的代碼中最重要的一句是 const int *const pi
  這句從右向左讀作:pi是一個指向int類型對象的const指針;

  這樣的一種聲明方式的作用是你既不可以修改pi所指向?qū)ο蟮膬?nèi)存地址也不能利用指針的解引用方式修改對象的值,也就是用*pi=10這樣的方式;

  所以你假如在最后加上*pi=20,想試圖通過這樣的方式修改對象a的值是不被答應編譯的!

  結(jié)合上面的兩點所說,把代碼修改成如下形式后就可以必然在程序的任意的地方修改對象a的值或者是指針pi的地址了,下面的這種寫法常被用語涵數(shù)的形式參數(shù),這樣可以保證對象不會在涵數(shù)內(nèi)被改變值!

#include <iostream>  
using namespace std;  
  
void main(void)  
{  
const int a=10;//這句和上面不同,請注重!  
  
const int *const pi=&a;  
  
cout <<*pi << "" <<a <<endl;  
cin.get();  
}




發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 寿宁县| 灵川县| 巴彦县| 鄂尔多斯市| 普定县| 嵩明县| 乌恰县| 宝兴县| 江永县| 莱西市| 凤台县| 比如县| 金华市| 贡嘎县| 武威市| 芮城县| 乾安县| 商河县| 大石桥市| 中江县| 防城港市| 龙川县| 公主岭市| 昆明市| 正蓝旗| 宁晋县| 麦盖提县| 阳春市| 全南县| 咸丰县| 山西省| 岳普湖县| 山阴县| 宜昌市| 江川县| 卫辉市| 奎屯市| 女性| 宜春市| 普安县| 和林格尔县|