2014年12月22日 星期一

C++ 中const的用法詳解

原創作者: 晁智平                      如轉貼請保留此行
const是用於保護程序的健壯性,減少程序隱患。
const的用法比較複雜,總結起來又分為以下兩種:
1:在定義變量時使用: 
   a: const int a=100; 最簡單的用法,說明變量a是一個常變量;
   b: int const b=100; 與a功能相同;
   c: const int *a=&b; 指向常數的指針,即指針本身的值是可以
      改變的,但指向的內容是不能改變的;
   d: int const *a=&b; 與c功能相同;
   e: int * const a = &b; 常指針,即指針本身的值是不可改變的,
      但指向的內容是可改變的;
   f: const int * const a = &b;指向常數的常指針,即指針本身與
      指向的內容都是不可改變的;
   g: const int &a=100; 常數引用,即不能改變引用的值;
  
   總結: 在使用const定義變量時,一定要進行初始化操作,在操作
   符(*,&)左邊的修飾的是指向的內容,在右邊的是本身。
  
2:在函數用使用:
   a: void func(const int a); 做為參數使用,說明函數體內是不
      能修改該參數的;對不參數定義時不同的形式,可參見定義變量
      時使用方式;
   b: const int func(); 做為返回值使用,說明函數的返回值是不
      能被修改的,在取得返回值時應用const int a = func();對不
      參數定義時不同的形式,可參見定義變量時使用方式;
   c: int func() const; 常函數,說明函數是不能修改類中成員的
      值的,只能用於類的成員函數中;
     
   總結:在函數中使用const,情況與定義變量的情況大致相同。

沒有留言:

張貼留言