程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 入門教程:C++中的const限定修飾符

入門教程:C++中的const限定修飾符

編輯:C++入門知識
 
  
     const修飾符可以把對象轉變成常數對象,什麼意思呢?   意思就是說利用const進行修飾的變量的值在程序的任意位置將不能再被修改,就如同常數一樣使用!  使用方法是: <!-- frame contents --> <!-- /frame contents --> const int a=1;//這裡定義了一個int類型的const常數變量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這個指針所指向的內存地址卻不能修改指向對象的值
  
  假如你在代碼後加上*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所指向對象的內存地址也不能利用指針的解引用方式修改對象的值,也就是用*pi=10這樣的方式;
  
  所以你假如在最後加上*pi=20,想試圖通過這樣的方式修改對象a的值是不被答應編譯的!
  
  結合上面的兩點所說,把代碼修改成如下形式後就可以必然在程序的任意的地方修改對象a的值或者是指針pi的地址了,下面的這種寫法常被用語涵數的形式參數,這樣可以保證對象不會在涵數內被改變值! #include <iostream> 
  using namespace std; 
   
  void main(void) 
  { 
  const int a=10;//這句和上面不同,請注重! 
   
  const int *const pi=&a; 
   
  cout <<*pi << "" <<a <<endl; 
  cin.get(); 
  } 更多內容請看Asp.Net教程  C/C++技術學堂  C/C++技術專題專題,或
 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved