C++ const的用法

來源:互聯網
上載者:User

1. 一般常量

  int const x=2; 或 const int x=2;

  當然x也可是一個數組,如x[5];int可以被替換為是類名,x為對象名,此時常對象。

    int如果被替換為char*,此時為常指標 如:char* const x 或 const char* x;常引用的格式為 const <類型說明符> & <引用名> 例如:const double & x;

2、下面舉一例子說明常指標作函數參數的作法。

#include <iostream>using namespace std;const int N = 6;void print(const int* p, int n);int _tmain(int argc, _TCHAR* argv[]){int arrar[N];for (int i = 0;i <N;i++){cin>>arrar[i];}print(arrar,N);return 0;}void print(const int* p, int n){cout<<"{";for (int i= 0; i<N;i++){cout<<" "<<*(p+i);}cout <<"}";}

3、常成員函數

  使用const關鍵字進行說明的成員函數,稱為常成員函數。常成員函數說明格式如下:

  <類型說明符> <函數名> (<參數表>) const;

其中,const是加在函數說明後面的類型修飾符,它是函數類型的一個組成部分,因此,在函數實現部分也要帶const關鍵字。常成員函數的特徵。

ConstTest.h檔案

class R{public:R(int r1, int r2) { R1=r1; R2=r2; }void print();void print() const;private:int R1, R2;};

 ConstTest.Cpp檔案 

void R::print(){cout << "R1:" <<R1 << " R2:" <<R2<<endl;}void R::print() const{cout << "R1:" <<R1 << " R2:" <<R2<<endl;}

 實現:

int _tmain(int argc, _TCHAR* argv[]){R a(5, 4);a.print();const R b(20, 52);b.print();return 0;}

  

 

4、常變數

標頭檔 ConstTest.h

class A{//r是常int型引用,a是常int型變數,b是靜態常int型變數。public:A(int i);void print();const int &r;private:const int a;static const int b;};

 cpp檔案ConstTest.cpp

void A::print(){cout<<" const int &r "<< r <<endl <<"Const int a " <<a<<endl << "static const int b " << b <<endl;}const int A::b=10;A::A(int i):a(i), r(a){}

 實現:

int _tmain(int argc, _TCHAR* argv[]){A a1(100),a2(0);a1.print();a2.print();return 0;}

 參考:http://www.cppblog.com/mzty/archive/2005/11/09/1001.html 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.