const 的常用方法

   class student{

        public: string name;

    }

    在c++代碼中,指向對象的常指針,指向常對象的指針和常引用都是出現頻率比較高。剛學習C++不久,通過閱讀網上資料和教材,得出下面的一些總結:

1:指向對象的常指針,表示指針永遠都是指向同一個對象,不能改變成指向別的對象

   a:基本形式:student * const p = &stu;

      如果我們使用如  p = &stu1 將是錯誤的,因爲指向對象的常指針一旦被初始化,就不能再修改成指向別的對象了


2:指向常對象的指針,表示不能通過指針改變對象的值

   a:基本形式:const student * p = &stu; 

     不能在後面的語句中使用類似  (*p).name = "Monkey" 的語句企圖改變stu的值

   b:在函數調用中,如果實參是指向常對象的指針,那麼形參也必須是指向常對象的指針,這樣就不能在調用函數的過程中該變實參的值;如果形參是指向常對象的指針,則實參可以是指向常對象的指針,也可以不是。

   c:如果對象已經被聲明爲常對象,則指向這個對象的指針也必須是指向常對象的指針,如

      const student stu;    //常對象

      const student * p = &stu; //指向常對象的指針

3:常引用

   a:如果常對象的引用也必須是常引用,如

      const int &a = 2;   //2是常量,所有前面的const是不能省略的

      const student stu;

      const student &s = stu;  //常對象的引用頁必須是常引用

   b:時常被使用在實參和形參的傳遞中,如果我們不希望在函數調用的過程中修改實參的值,可以使用常引用作爲形參


     

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章