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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

c++常量和常量表达式[通俗易懂](C++入门教程)

發布時間:2023/12/19 综合教程 27 生活家
生活随笔 收集整理的這篇文章主要介紹了 c++常量和常量表达式[通俗易懂](C++入门教程) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

const,默認情況下僅在文件內有效

const int i(12);

const引用:對常量的引用不能被用作修改它所綁定的對象

const int ci(5);

const int &rci(ci);

rci = 90;//錯誤 不能修改

允許常量引用綁定到非常量的對象、字面值或表達式上

int i = 20;

const int &ri(20);

const int &ri3(i + ri);

常量引用僅對引用可參與的操作作出了限定,對于引用的對象本身未做限定

int i(10);

const int &c(i);

i = 90;//i不是常量,可以改變值

c = 20;//錯誤,c是一個常量引用,const限定了c為常量不能修改,i的修改與c的限定無關。

cout << c << endl;//值為90

//指針和const

int iv(10);

int iv1(23);

const int * pci1(&iv);//指向常量的指針,限定了該指針的操作,pci1的值可以改變,pcil指向的值不能變

pci1 = &iv1;

iv = 30;

int * const pci2(&iv);//常量指針,把指針本身定位常量,pci2的值不能改變,pci2指向的值可以改變

*pci2 = 90;

cout << *pci1 << endl;//23

cout << *pci2 << endl;//90

頂層和底層

頂層:表示指針本身是個常量

底層:指針所指的對象是常量

小技巧:const int * p: const修飾的是*p,也就是*p不能變。

int * const p: const修飾的是p,也就是p不能變。

字面值和constexpr

常量表達式:字面值是常量表達式,用常量表達式初始化的const對象也是常量表達式

const int ci = 20;//ci是常量表達式

const int cii = ci + 90;//cii是常量表達式

int iv = 30;//iv不是常量表達式

聲明為constexpr的變量一定是常量,而且必須用常量表達式初始化

constexpr int cif = 23;

constexpr聲明的指針,只對指針有效,與指針指向的對象無關

constexpr int cvi(12);//必須定義到函數體外部才能被cip使用

constexpr const int * cip(&cvi);

cout << *cip << endl;

總結

以上是生活随笔為你收集整理的c++常量和常量表达式[通俗易懂](C++入门教程)的全部內容,希望文章能夠幫你解決所遇到的問題。

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