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

C++學習 之const,學習const

編輯:C++入門知識

C++學習 之const,學習const


  const在C++中很常用,在編程中也建議多使用const去告訴編譯器和其他程序員某個值應該保持不變。

  const可以用在很多地方:

  (1)用在classes外部修飾global或namespace作用域中的常量

  (2)修飾文件、函數、或區塊作用域中被聲明為static的對象

  (3)修飾classes內部的static和non-static成員變量

  (4)面向指針,也可以指出指針自身、指針所指物,或兩者都是const,如:

1 char greeting[] = "Hello";
2 char * p = greeting;
3 const char * p = greeting;
4 char * const p = greeting;
5 const char * const p = greeting;

  雖然const的語法變化多端,但是很容易理解:

  (1)const出現在星號左邊,表示被指物是常量

  (2)const出現在星號右邊,表示指針自身是常量

  (3)const出現在星號的兩邊,表示被指物和指針都是常量

  注意:如果被指物是常量,將關鍵字const寫在類型之前和寫在類型之後、星號之前,意義是相同的。如:

1 void   f1(const Widget * pw ); //f1獲得一個指針,指向一個常量Widget對象
2 void f2( Widget const * pw ); //f2也是

  const最具威力的用法是面對函數聲明時的應用。在一個函數聲明式內,const可以和函數返回值、各參數、函數自身產生關聯,他們也是有一定好處的:

  (1)令函數返回一個常量值,往往可以降低因客戶錯誤而造成的意外,而又不至於放棄安全性和高效性。

  (2)const實施於成員函數。目的是為了確認該成員函數可作用於const對象身上。這類成員函數很重要,因為:

    a. 它們使class接口比較容易理解。因為得知哪個函數可以改動對象而哪個函數不行,很重要。

    b.它們使”操作const對象“成為可能。

    

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved