日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

C++的const限定符

發布時間:2023/12/13 c/c++ 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C++的const限定符 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

const限定符總是讓人很頭疼,下面講解一下幾個比較容易混淆的概念:

  • 對常量的引用(常量引用):
    一般情況下,引用的類型要與其所引用的對象的類型一致,其中的例外情況就是,當初始化常量引用時,允許用任意表達式作為初始值,只要改表達式能轉換成引用的類型即可。
  • const int i = 1; const int &ri = i; int i = 42; const int &r1 = i; const int &r2 = 42;
  • 指向常量的指針
    和引用類似,一般情況下,指針的類型應該與其指向的對象的類型一致,但是允許一個指向常量的指針指向一個非常量對象。
  • const int i = 4; const int *cptr = &i; int a = 1; cptr = &a;
  • 常量指針
    由于指針本身就是一個對象,因此可以定義一個指針為常量指針,必須被初始化。當常量指針指向一個對象時,那么這個指針永遠只能指向這個對象,但是被指向的對象的值能否改變,取決于被指向的對象本身是否是一個常量。
  • int i = 1; int *const cp = &i;//cp永遠指向i, i = 2;//由于i是非常量,其值可以改變 const int c = 2; const int *const p = &c;//p是一個指向常量的常量指針 c = 1;//錯誤,c為常量,其值不能被改變 p = &i;//錯誤,p是一個常量的指針,其指向不能改變
  • 頂層const與底層const
    頂層const表示指針本身就是一個常量,而底層const表示指針所指的對象是一個常量。
  • int i = 0; int *const pi = &i;//pi的值不能被改變,pi為頂層const const int ci = 42;//ci是一個int類型的常量,值不能被改變,為頂層const const int *p2 = &ci;//p2是一個指向常量的指針,p2的值可以改變,所以p2為底層const const int *const p3 = p2;//靠右的const是頂層const,靠左的const是底層const const int &r = ci;//用于聲明引用的const都是底層const

    總結

    以上是生活随笔為你收集整理的C++的const限定符的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。