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

C++學習之const整理總結

編輯:C++入門知識

const。(但可以偷梁換柱進行更新)

限定m不可變。替換基本形式中的m為1式中的*p1,替換後const char *p1;限定*p1不可變,當然p1是可變的,因此問題中p1++是對的。替換基本形式中的type為2式中的pStr,替換後const pStr m;限定m不可變,題中的pStr就是一種新類型,因此問題中p2不可[1]變,p2++是錯誤的。

,至於const放在類型前還是類型後並沒有區別。如:const int a和int const a都是修飾a為const。一個簡單的判斷方法:指針運算符*,是從右到左,那麼如:char const * pContent,可以理解為char const (* pContent),即* pContent為const,而pContent則是可變的。

int const * p1,p2;

int const * const p1,p2;

int * const p1,p2;

int main() {

char *yourbuf = "test2";
printf_s("%s\n", mybuf);


printf_s("%s\n", bptr);


}

   

const 關鍵字的成員函數指定,一個常數成員函數不能修改任何非靜態數據成員或調用不是常數的任何成員函數。const關鍵字,把const關鍵字放在函數的參數表和函數體之間。聲明和定義中均要求該 const 關鍵字。

{
public:
Date( int mn, int dy, int yr );

void setMonth( int mn ); // A write function; can't be const
private:
int month;
};


{
return month; // Doesn't modify anything
}
void Date::setMonth( int mn )
{
month = mn; // Modifies data member
}
int main()
{
Date MyDate( 7, 4, 1998 );


BirthDate.getMonth(); // Okay

}

.

構造函數和析構函數對這個規則例外,它們從不定義為常量成員,但可被常量對象調用(被自動調用)。

   

   

"2"傳給它的構造函數參數。

。下面通過一個例子來說明這個問題:

<http://baike.baidu.com/view/1065598.htm?force=1>

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