溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++中const關鍵字的作用是什么

發(fā)布時間:2022-04-14 11:09:21 來源:億速云 閱讀:181 作者:iii 欄目:編程語言

本篇內容介紹了“C++中const關鍵字的作用是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!

一、const修飾普通類型的變量

  constinta=7;

  intb=a;//正確

  a=8;//錯誤,不能改變

  a被定義為一個常量,并且可以將a賦值給b,但是不能給a再次賦值。對一個常量賦值是違法的事情,因為a被編譯器認為是一個常量,其值不允許修改。

  接著看如下的操作:

  實例

  #include

  usingnamespacestd;

  intmain(void)

  {

  constinta=7;

  int*p=(int*)&a;

  *p=8;

  cout<

  usingnamespacestd;

  intmain(void)

  {

  volatileconstinta=7;

  int*p=(int*)&a;

  *p=8;

  cout

二、const修飾指針變量。

  const修飾指針變量有以下三種情況。

  A:const修飾指針指向的內容,則內容為不可變量。

  B:const修飾指針,則指針為不可變量。

  C:const修飾指針和指針指向的內容,則指針和指針指向的內容都為不可變量。

  對于A:

  constint*p=8;

  則指針指向的內容8不可改變。簡稱左定值,因為const位于*號的左邊。

  對于B:

  inta=8;

  int*constp=&a;

  *p=9;//正確

  intb=7;

  p=&b;//錯誤

  對于const指針p其指向的內存地址不能夠被改變,但其內容可以改變。簡稱,右定向。因為const位于*號的右邊。

  對于C:則是A和B的合并

  inta=8;

  constint*constp=&a;

  這時,constp的指向的內容和指向的內存地址都已固定,不可改變。

  對于A,B,C三種情況,根據const位于*號的位置不同,我總結三句話便于記憶的話:"左定值,右定向,const修飾不變量"。

三、const參數(shù)傳遞和函數(shù)返回值。

  對于const修飾函數(shù)參數(shù)可以分為三種情況。

  A:值傳遞的const修飾傳遞,一般這種情況不需要const修飾,因為函數(shù)會自動產生臨時變量復制實參值。

  實例

  #include

  usingnamespacestd;

  voidCpf(constinta)

  {

  cout<

  usingnamespacestd;

  voidCpf(int*consta)

  {

  cout<<*a<<"";   *a=9;   }   intmain(void)   {   inta=8;   Cpf(&a);   cout<

“C++中const關鍵字的作用是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI